日期:2014-05-16  浏览次数:20447 次

jQuery中的"jQuery = window.jQuery = function(selector, context){}"???
看jQuery源代码时,刚开始就卡住了,是这样写的:
  var jQuery = window.jQuery = function(selector, context) {
// If the context is a namespace object, return a new object
 return this instanceof jQuery ?
 this.init(selector, context) :
 new jQuery(selector, context);
};

1,JavaScript中可以像jQuery = window.jQuery = function(selector, context)这样连等吗?这样写有什么实际意义?
2,window对象中好像没有jQuery这个属性吧?这个怎么理解呢?

------解决方案--------------------
window.jQuery 就好比你申明了一个全局变量jQuery,
应为所有的jQuery代码都在一个function里,jQuery就无法传递到外部,
而所有的全局变量其实都是window下的一个属性
------解决方案--------------------
var jQuery = window.jQuery = function(selector, context){}

=号的运算是从右至左
所以也可以看成

window.jQuery = function function(selector, context){}

var jQuery = window.jQuery;