js中apply和join
?? join 分隔符分隔指定數(shù)組中的數(shù)據(jù),不僅可以分割,還可以考慮用join("")合并,可以將一個(gè)array對(duì)象數(shù)據(jù)進(jìn)行合并
??
1 <script>2 ?var k=["2","3",4,5];
3 alert(k.join(""));
4 ?var s=["s",":",,"1"];
5 alert(s[2]);
6 alert(s.join(""));
7 </script>
看上面s數(shù)組,它也可以很好合并,不影響結(jié)果。
??? Apply :應(yīng)用某一對(duì)象的一個(gè)方法,用另一個(gè)對(duì)象替換當(dāng)前對(duì)象.
??? 格式:function Apply(obj,args)
這個(gè)方法分解如下:被擴(kuò)展對(duì)象obj,原型function ,args是它的參數(shù)對(duì)象,用來給原型傳遞值。
???
代碼 1 <script>2 function f(args1, args2){
3 alert(this.name);
4 alert(arguments.length);
5 }
6 var o2 = {
7 name : 'lufang'
8 }
9 f.apply(o2, [1, 2]);
10
11 function a()
12 {
13 f.apply(this,o2);
14 }
15 </script>
?
???? 第一個(gè)擴(kuò)展了o2,o2本身是一個(gè)對(duì)象。增加了擴(kuò)展方法就會(huì)輸出alert("lufang") ,第二個(gè)擴(kuò)展了a函數(shù)體,我們用來this,指向了它的本體對(duì)象。
???? 理解Apply提高JS代碼效率有很大作用
???? var arr1=[1,3,4];
??? ?Math.max.apply(null,arr);
???? 有人統(tǒng)計(jì)過,這樣的比較比傳統(tǒng)一個(gè)個(gè)數(shù)據(jù)比較,在20萬數(shù)據(jù)量時(shí)速度提高5倍。
?????再看以下這個(gè)
???? var arr1=[1,3,4];
???? var arr2=[3,4,5];
???? Array.prototype.push.apply(arr1,arr2);
轉(zhuǎn)載于:https://www.cnblogs.com/shouhongxiao/archive/2010/04/08/1706839.html
總結(jié)
以上是生活随笔為你收集整理的js中apply和join的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用同一uuid作为两个字段的值_这两个小
- 下一篇: DOS命令未公开的命令