join 分隔符分隔指定数组中的数据,不仅可以分割,还可以考虑用join("")合并,可以将一个array对象数据进行合并
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>
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数组,它也可以很好合并,不影响结果。
Apply :应用某一对象的一个方法,用另一个对象替换当前对象.
格式:function Apply(obj,args)
这个方法分解如下:被扩展对象obj,原型function ,args是它的参数对象,用来给原型传递值。
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
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>
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>
第一个扩展了o2,o2本身是一个对象。增加了扩展方法就会输出alert("lufang") ,第二个扩展了a函数体,我们用来this,指向了它的本体对象。
理解Apply提高JS代码效率有很大作用
var arr1=[1,3,4];
Math.max.apply(null,arr);
有人统计过,这样的比较比传统一个个数据比较,在20万数据量时速度提高5倍。
再看以下这个
var arr1=[1,3,4];
var arr2=[3,4,5];
Array.prototype.push.apply(arr1,arr2);