实现每个方法的本机js示例代码的详细说明
jquery中每个方法都有一个,这简化并方便了循环操作。然后给出了一种预测方法。虽然这两种方法的用法相似,但它们不能处理对象类型。并且不能通过返回true来达到继续的效果。另外还有一个every方法,可以达到continue效果,但是在处理类数组和对象类型的时候完全没用。
不使用jquery的各种方法该怎么办?或者如何本土实现?前段时间写了一个类库: jTool,在里面实现了这个方法。
:的简单实现
//函数各var各=函数(对象,回调){var type=(函数(){switch(对象。构造函数){case object :返回' object ';打破;案例数组:返回“数组”;打破;case NodeList:返回‘NodeList’;打破;default:返回“null”;打破;} })();//当它是数组或类数组时,它返回: index,value if(type==' array ' | | type==' NodeList '){//因为有类数组NodeList,所以不能直接调用every方法[] .every.call (object,function (v,I) {returncallback。假:真;});}//返回: key,value else if(type==' object '){ for(var I in object){ if(callback。call (object [I],I,object[I])==false){ break;}}}}让我们试着测试一下数组、对象、类的数组类型和中断效果
数组类型
var _array=[1,2,3,4];每个(_array,function(i,v){ console . log(I ' : ' v);});输出如下:
对象类型
var对象={a:1,b:2,c:3}每个(对象,函数(I,v){ console . log(I ' : ' v);});
输出如下:
类数组类型
var ele=document . queryselectorall(' div ');每个(ele,function(i,v){ console . log(I ' : ' v);});输出如下:
添加中断条件
Varobject2={name:' baukh ',age:' 29 ',six3360' male ',url3360' www.lovejavascript.com ',}每一个(object2,function (i,V){ If(I==' age '){//如果有一个键值为age的属性,则输出警告,实现continue effect console.log('有一个键值age,这个家伙已经是' V ' old ');返回真;} If(I==' six ' v==='男'){//如果有一个键值为age的属性,输出会跳出来实现break effect console.log('有一个键值为六,是个男的,不用注意~ ');返回false} console . log(I ' : ' v);});输出如下:
从结果可以看出,每种方法都实现了jquery的各项功能。而且实现也这么简单~
这是前端最好的时代,也是前端最差的时代。很多前端帧满天飞。随着jQuery在前端行业的逐渐弱化,人在远方总会有一种舒适的感觉。大家互相鼓励。
建议使用另一个表组件gridManager
摘要
以上是实现边肖介绍的每种方法的本机js的示例代码。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!
版权声明:实现每个方法的本机js示例代码的详细说明是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。