我在jQuery中看到类似这样的内容:
jQuery.fn = jQuery.prototype = {}
为什么这样做?这是不是只是说jQuery.prototype = {}?我不确定我是否理解Resig在这里所做的事。
答案 0 :(得分:13)
与:
相同jQuery.prototype = {}
jQuery.fn = jQuery.prototype
在我看来,让一行中的所有内容更清楚地表明您为两个变量分配相同的值
答案 1 :(得分:3)
这相当于:
jQuery.prototype = {}
jQuery.fn = jQuery.prototype
换句话说,jQuery.fn和jQuery.prototype都指向同一个对象。
答案 2 :(得分:2)
声明x = a = {}
表示{}
已分配给a
,x
已分配给a = {}; x = a
。所以它等于{{1}}。
答案 3 :(得分:2)
要知道的是,在javascript中,每个表达式都有一个返回值,无论它是否有任何副作用(赋值)
从右到左,您有以下声明:
(jQuery.fn = (jQuery.prototype = ({})))
评估第一部分会给出一个空对象:{}:
(jQuery.fn = (jQuery.prototype = {}))
第二个语句执行并将jQuery.prototype设置为{},并计算为jQuery.prototype,给出第二部分:
(jQuery.fn = jQuery.prototype)
将jQuery.fn设置为jQuery.prototype,然后将其计算为:
jQuery.fn
什么也没做。