当我调用$.extend({'wudi':'zhaaa'})之后,我也没有对jquery做什么实例化啊?怎么此时的this就是那个jquery函数呢?我的问题就是这个this在哪生成的?我知道答案了,好久没接触都忘了。。。惭愧啊
当我调用$.extend({'wudi':'zhaaa'})之后,我也没有对jquery做什么实例化啊?怎么此时的this就是那个jquery函数呢?我的问题就是这个this在哪生成的?我知道答案了,好久没接触都忘了。。。惭愧啊
这里的静态方法和实例方法共享同一个extend方法,要明白一个道理,js中谁调用方法this就指向谁,如题,$.extend({'wudi':'zhaaa'})即Jquery调用的extend方法,那么this就指向jquery。
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
jQuery.extend 调用的时候,this是指向jQuery对象的,所以这里扩展在jQuery上。
而jQuery.fn.extend 调用的时候,this指向fn对象,jQuery.fn 和jQuery.prototype指向同一对象,扩展fn就是扩展jQuery.prototype原型对象。