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是它的参数对象,用来给原型传递值。
代码
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);