【发布时间】:2010-11-09 04:00:19
【问题描述】:
我在 jQuery 中看到这样的内容:
jQuery.fn = jQuery.prototype = {}
为什么要这样做?这不就是说jQuery.prototype = {}吗?我不确定我是否理解 Resig 在这里完成的工作。
【问题讨论】:
标签: javascript variables syntax
我在 jQuery 中看到这样的内容:
jQuery.fn = jQuery.prototype = {}
为什么要这样做?这不就是说jQuery.prototype = {}吗?我不确定我是否理解 Resig 在这里完成的工作。
【问题讨论】:
标签: javascript variables syntax
同:
jQuery.prototype = {}
jQuery.fn = jQuery.prototype
在我看来,将所有内容放在一行中更清楚地表明您为两个变量分配了相同的值
【讨论】:
这相当于:
jQuery.prototype = {}
jQuery.fn = jQuery.prototype
换句话说,jQuery.fn 和 jQuery.prototype 都指向同一个对象。
【讨论】:
语句x = a = {} 表示{} 被分配给a,a 被分配给x。所以它等于a = {}; x = a。
【讨论】:
要知道的是,在 javascript 中,每个表达式都有一个返回值,无论它是否有任何副作用(赋值)
从右到左,你有以下语句:
(jQuery.fn = (jQuery.prototype = ({})))
评估第一部分给出一个空对象:{}:
(jQuery.fn = (jQuery.prototype = {}))
第二条语句执行并将 jQuery.prototype 设置为 {},并计算为 jQuery.prototype,给出第二部分:
(jQuery.fn = jQuery.prototype)
将 jQuery.fn 设置为 jQuery.prototype,然后计算结果为:
jQuery.fn
什么都不做。
【讨论】: