jquery源码,开头这个地方,"w"这个参数代表什么啊?没看懂
1 回答
潇湘沐
TA贡献1816条经验 获得超6个赞
是后面传进去的window对象。
补充:
刚才是在app上实在不好码字。
其实重点是理解好这两个三元运算和一个传值:
typeof window !== 'undefined' ? window : this
;global.document ? factory(global, true) : function(w) {}
;var jQuery = require('jquery')(window)
;
第一个其实好懂,就是判断window对象是否存在,如果存在,就传递window,不存在就是传递this,浏览器环境下window对象是一定存在的;
第二个中global就是第一个中传入的window or this,然后根据global下是否有document对象进行判断,因为浏览器的document是挂载在window下的,所以这里相当于是二重验证;
然后是重点,假如既没有window对象,this环境下面也没有document对象时候,是什么环境呢?现在可以认为是nodejs的运行环境了,此时就如截图中的注释所言,需要指定传入一个具有document的window对象才能正常使用jquery,不然就报错,如果传入了,那就以工厂模式返回。
添加回答
举报
0/150
提交
取消