Javascript jquery中的$.Variable,在这种定义方式中有些混乱
我在validate插件jquery中找到了一些代码。但我不理解变量和函数之间的一些概念差异: 代码是:Javascript jquery中的$.Variable,在这种定义方式中有些混乱,javascript,jquery,Javascript,Jquery,我在validate插件jquery中找到了一些代码。但我不理解变量和函数之间的一些概念差异: 代码是: $.validator = function(options,form){ this.settings=$.extend(true,{},validator.defaults,options); this.currentForm=form; this.init(); } 但验证器不是插件,因为插件jquery必须定义$.fn.validator。但它也不是一个变量,
$.validator = function(options,form){
this.settings=$.extend(true,{},validator.defaults,options);
this.currentForm=form;
this.init();
}
但验证器不是插件,因为插件jquery必须定义$.fn.validator。但它也不是一个变量,因为$。在它前面签名
那些能为我解释的人???他们只是在
$
(jQuery
)函数上添加了一个函数作为属性。就像jQuery本身添加了$.extend
和$。每个和$.ajax
一样,这个验证器插件正在向它添加$.validator
。它仍然是一个插件(某种程度上),只是它没有定义一个可以在jQuery实例上调用的方法。您只能调用它的一个全局版本
给定函数的功能,它似乎希望通过new
调用,例如:
var v = new $.validator();
它真的应该有一个大写字母V
,并且它真的应该防止被直接调用,因为如果它被直接调用,它内部的行为是错误的
变量是可以存储一段数据的东西
对象上的属性是可以在其中存储数据的其他属性
$
是一个变量。它的值是jQuery函数
$。验证器
是jQuery函数的一个属性。您拥有的代码正在为其分配函数
$.fn.validator
将是存储在jQuery对象的fn
属性中的对象的属性。它也可以有一个存储在里面的值,但在代码中没有
fn
函数的属性可以从jQuery对象链接起来。i、 e.使用现有代码,您可以调用$.validator()
,但是如果您有$.fn.validator
,那么您可以调用$(“div”).validator()
您能为我们提供一个到原始源代码的链接吗。有很多不同的jquery插件验证程序……但我在网站的jquery.validate.js中找到了它。它起作用了well@Lêôôn:除了在您引用的代码中添加的validator
函数外,它还明确定义了一个插件方法validate
。我仍然认为您引用的函数可能需要一些改进,如果使用不当,它们会导致可怕的副作用。构造函数$.validator从未直接使用过,它在$.fn.validate中使用。@jcubic:如果它不打算由插件外的代码使用,那么它不应该是一个公共函数。