手机版

关于jQuery中的每个方法(jQuery到底做了什么)

时间:2021-11-09 来源:互联网 编辑:宝哥软件园 浏览:

1.估计很多人会在jQuery中使用每种方法。让我们看看jQuery做了什么。在jquery中找到每个源代码:复制代码如下:每个:函数(object,callback,args) {var name,I=0,length=object.length,isobj=length===undefined | | jquery . is function(object);if(args){ if(IseBj){ for(name in object){ if(callback . apply(object[name],args)==false){ break;} } } else { for(;一、长度;){ if (callback.apply(object[ i ],args)==false){ break;} } } //一个特殊的、快速的、最常用的case for else { if(isObj){ for(name in object){ if(callback . call(object[name],name,object[name])===false){ break;} } } else { for(;一、长度;){ if (callback.call(object[ i ],I,object[I])===false){ break;} } } }返回对象;},这段代码还是比较简单的,应该没有问题。为了测试这个东西,我写了下面的js;副本代码如下: $。每个($(')。demo ')、function(){ console . log(' show ');});然后添加一个html:复制代码如下: a href=' class=' demo '/aa href=' class=' demo '/aa href=' class=' demo '/a,然后用jQuery的源代码进行调试,以便得到正确的结果。但不幸的是。

可以看到,这里的对象不是我想要的三个html对象,而是js内置的八种数据类型。之后在jquery的源代码中增加了一段代码:复制的代码如下: console . log(object . prototype . tostring(object));console.log(长度);之后输入如下:

也就是说,在加载文档的时候,jQuery会用每个遍历dom对象,即使不使用复制的代码,代码如下: $(function(){ });遍历指定对象后,它将继续在父元素中冒泡。2.根据jQuery的源代码,使用回调函数参数复制代码如下: $。每个($(')。demo '),函数(a,b) {console.log (a'' $ (a))。attr(' class ');})从源代码可以看到,的复制代码如下:callback.call (object [I],I,object [I])最后通过call方法将当前对象传递给回调函数,这样就可以像上面一样使用当前对象中的属性了。当然也可以用这个直接调用。如果有更复杂的东西,例如,这里我传递$('。demo)作为一个对象传递给$。每个(),有时不是jQuery或html对象。它是一个对象或数组。数组中还有许多其他对象或方法。这样,我们可以产生更多的效果。3.使用call或apply实现回调模式。从上面的代码中,我们可以看到复制的代码如下: callback.call(obj,args),复制的代码如下: callback.apply([obj],args)等。这里只需要通过回调函数来实现自己的调用,对于提高代码的复用性有很大的用处。但是也存在一些缺点,比如代码可读性降低,耦合度增加。偶尔,为了记录,以防你忘记!

版权声明:关于jQuery中的每个方法(jQuery到底做了什么)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。