秉承严谨的态度,为您提供专业的服务
发表时间:01-10 浏览次数:1
在jquery中,$('xxx').xxxx()这种写法,其实是通过jQuery.fn.extend({xxx: function() {}})的方式进行方法绑定和扩展的,而$.xxx()这种方式的方法是通过jQuery.extend({xxx: function() {}})的方式进行方法绑定和扩展的; console.log(jQuery()) 其实是个对象,console.log(jQuery('#test')),如果有此元素存在,看起来像数组,其实也是对象,这种叫“类数组”;可以搜索看下类数组相关知识; 好,下面苏州网站制作开始说下这个问题,先进是extend的实现方法;第二是jquery为什么能同时支持$.xxx()与$().xxx()这两种写法; 先进,extend的实现方法;由于源码较多,我在这儿就不直接展示出来了,有兴趣可以去找到看看;其实简单讲,extend主要用于对象的合并, 但是从源码可以看出,当参数只有一个对象的时候,就是直接将传入对象合并到调用的对象上 (即jquery或jquery.fn); 所以,当调用jQuery.extend时,就会将传入的对象里面的方法合并写入到jQuery对象上面,就可以对其进行扩展; 同理,使用jQuery.fn.extend时,就可以对jQuery.fn进行扩展; 第二,$.xxx()与$().xxx()两种的区别;先进种$.xxx()其实是调用的jQuery对象上面的方法,也就是通过jQuery.extend进行扩展的方法;有人会说,jQuery是一个函数,但是函数在js也是对象,也可以向其添加属性和方法;而第二种$().xxx()则是调用的jQuery.fn对象上面的方法,也就是通过jQuery.fn.extend进行扩展的方法; 先进种通过jQuery.extend进行扩展的属性和方法是直接写入jQuery对象,所以也就可以直接通过$.xxx()的方式调用,这个很容易理解; 第二种,通过jQuery.fn.extend进行扩展的方法和属性为何能够通过$().xxx()进行调用呢;这个就要从jQuery的整个架构来说;当执行$()时,访问了代码:
版权所有:大连新图闻科技有限公司. 保留一切法律许可权利 代理律师:戴律师