JavaScript 期间功能 : How do I setup a library like jQuery did

标签 javascript php jquery class api-design

<分区>

简介#(已编辑)

大家好,我正在设置一个 JavaScript 库,该库专为我们设计 AJAX 并连接到多个 PHP,然后连接到数据库。 (可以肯定这就是您所说的 API)。不过,为了让我的团队更轻松,我想设置某种初始化对象,例如 jQuery 中的 $。有人可以帮我指出正确的数据类型吗?

例子

// Pull new user data from fields
var username = $.("#usernamefield").val();
var password = $.("#userpassfield").val();

// Send data to library through
API.AddUser(username, password);

// Sorry for any syntax errors, this is just example code

可能的解决方案

我确实考虑过使用类系统,但我做了一些研究,似乎可能有更好的方法。有人可以帮助解释 jQuery 如何设置他们的库吗?

澄清

有些人问我为什么不直接使用 jQuery。好吧,实际上,我是。我正在使用 jQuery 并构建这个单独的库以使用 PHP 上传信息。他们两个是 Apples 和 Oranges,但我确实想要一个像 jQueries "$"这样的初始化程序 - 有人可以解释一下他们是怎么做到的吗?

最佳答案

这里是你应该怎么做:

在可以调用 API.js 的 JS 模板中,您将拥有以下内容:

 ;(function($){

    /* ========================================================
    /* Global variables */
    /* =======================================================*/
    var api = null;

   /* ========================================================
    /* Ajax calls */
    /* =======================================================*/

    var API = function(args)
    {
        // Api methods 

        this.AddUser = function (username, password)
        {

            //To do Ajax call
        }

        this.DeleteUser = function(id)
        {
            //To do Ajax call
        }

        // ... More api methods
    };

   /* ========================================================
    /* Main function */
    /* =======================================================*/

    jQuery.fn.API = function( args )
    {
        api = new API(args);
        return api;
    };


})(jQuery);

然后当您需要进行 Ajax 调用时,您只需要使用任何必需的参数初始化一个 API 对象,如下所示:

$(function() {
     //Note: you can pass global arguments.
    var API = $().API();

    //You can then make your api calls with required values

    // Pull new user data from fields
    var username = $("#usernamefield").val();
    var password = $("#userpassfield").val();

    // Send data to library through
    API.AddUser(username, password);

});

关于JavaScript 期间功能 : How do I setup a library like jQuery did,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41629255/

相关文章:

javascript - 如何使导航中的圆形图像响应

javascript - 将 javascript 字典转换为 JSON 格式

php - 关于php下归并排序的问题

php - 我如何在yii2中的where条件(in子句)中使用变量

php - 如何使用 php 将文本区域中的链接转换为链接元素?

javascript - 更改 parallax.js 中的视差图像

javascript - 返回数组中元素的索引范围

javascript - 通过 AJAX 更新单选按钮更改的表单值

javascript - PNG 图像重叠,但有一个链接来更改每个图像,一次一个 - Javascript/jQuery/CSS

JavaScript 图像更改错误