Javascript 您能解释一下jQuery如何同时使用$as函数和对象吗?
我已经研究了jQuery的源代码,我并不完全理解它如何在选择器中使用$symbol作为函数Javascript 您能解释一下jQuery如何同时使用$as函数和对象吗?,javascript,jquery,prototype,Javascript,Jquery,Prototype,我已经研究了jQuery的源代码,我并不完全理解它如何在选择器中使用$symbol作为函数 $el = $('#element'); 和作为辅助函数中的对象 $.each([1, 2, 3], function(num) { ... }); $function创建了新的jQuery.fn.init,这在原型中的某个地方,我很困惑。Javascript中的函数是一个对象,所以可以向函数添加属性 例如: function lib(x) { return x + 1; } lib.add =
$el = $('#element');
和作为辅助函数中的对象
$.each([1, 2, 3], function(num) { ... });
$function创建了新的jQuery.fn.init,这在原型中的某个地方,我很困惑。Javascript中的函数是一个对象,所以可以向函数添加属性 例如:
function lib(x) {
return x + 1;
}
lib.add = function(a, b){
return a + b;
};
现在,您既可以将其用作函数,也可以将其用作具有函数的对象:
var n = lib(4); // n = 5
var m = lib.add(7, 8); // m = 15
jQuery也这样做,只是使用$
作为名称,而不是我在示例中使用的lib
$
名称通常是jQuery
名称的别名,jQuery.fn
是对jQuery
函数原型的引用。因此,当调用jQuery.fn.init
时,它与jQuery.prototype.init
$只是jQuery的简写,它表示一个函数
在$el=$(“#元素”)中
,$(与jquery相同)是将选择器作为函数参数的函数名,从而产生语法$()代码>
执行此选择器函数时,将执行jQuery.fn.init
(初始值设定项函数)并返回jQuery对象,从而公开可以使用的不同选择器方法 函数是对象。也许这也有帮助:是的,我出于好奇做了这样的事情,你会如何将lib
作为一个对象文字来编写?@fuzzybabybunny:如果你这样做,那么它就是一个不是函数的对象。函数是一个对象,但你不能让任何对象成为函数。哈哈,好吧,现在我正式感到困惑了。一切都是物体,不是吗?我认为一切都需要从{//keys and values}
..@fuzzybabybunny开始:从对象文本中得到的是对象
类型的对象。函数声明创建类型为function
的对象。不能将对象
类型的对象转换为函数
类型的对象。另一方面,函数
类型的对象继承自对象
类型,因此它具有所有属性。mind=blow。很酷。