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);
});
简介#(已编辑)
大家好,我正在设置一个 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);
});