JavaScript 期间功能:如何像 jQuery 那样设置库

JavaScript Period Functionality: How do I setup a library like jQuery did

简介#(已编辑)

大家好,我正在设置一个 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

可能的解决方案

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

澄清

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

不太确定您的想法,但您似乎想要设置一个包含状态信息的函数。一种方法是将其放入闭包中。可能是这样的:...

`
 var connect = function(username,password){

                  //perhaps do some stuff here

                  return function(a,b,c){
                            //do connection stuff using 
                            // username, password and a,b,c
                         }
               };
`

Then you can set up your connection function:

`
  fredsConnection = connect( 'fred', 'piglet');
`

这为您提供了内置 Fred 凭据的连接功能,因此现在他需要连接的任何时候:

`
fredsConnection('widgets', 'v2','green')

` 他可以调用他的连接函数并传递必要的数据

以下是您应该如何操作:

在您可以调用 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);

});