jquery源码这个参数代表什么?

jquery源码,开头这个地方,"w"这个参数代表什么啊?没看懂clipboard.png

阅读 2k
1 个回答

是后面传进去的window对象。

补充:
刚才是在app上实在不好码字。

其实重点是理解好这两个三元运算和一个传值:

  1. typeof window !== 'undefined' ? window : this
  2. global.document ? factory(global, true) : function(w) {};
  3. var jQuery = require('jquery')(window);

第一个其实好懂,就是判断window对象是否存在,如果存在,就传递window,不存在就是传递this,浏览器环境下window对象是一定存在的;
第二个中global就是第一个中传入的window or this,然后根据global下是否有document对象进行判断,因为浏览器的document是挂载在window下的,所以这里相当于是二重验证;
然后是重点,假如既没有window对象,this环境下面也没有document对象时候,是什么环境呢?现在可以认为是nodejs的运行环境了,此时就如截图中的注释所言,需要指定传入一个具有document的window对象才能正常使用jquery,不然就报错,如果传入了,那就以工厂模式返回。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题