js中apply和join

   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>

看上面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>

 

     第一个扩展了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);

posted @ 2010-04-08 00:19  一点点水  阅读(1140)  评论(1编辑  收藏  举报