apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性.

Function.apply(obj,args)方法能接收两个参数
obj:这个对象将代替Function类里this对象
args:这个是数组,它将作为参数传给Function(args-->arguments)


call:和apply的意思一样,只不过是参数列表不一样.


Function.call(obj,[param1[,param2[,…[,paramN]]]])
obj:这个对象将代替Function类里this对象
params:这个是一个参数列表

call示例:

            /*定义一个人类*/
            function Person(name,age){
                this.name = name;
                this.age = age;
            }
            /*定义一个学生*/
            function Student(name,age,grade){
                Person.call(this,name,age,grade);
                this.grade = grade;
            }
            /*实例化一个学生*/
            var student = new Student("张三",21,"一年级");
            alert("name:"+student.name+"\n"+"age:"+student.age+"\n"+"grade:"+student.grade);

apply示例:

           <script>
               /*定义一个人类*/
               function Person(name,age){
                   this.name = name;
                   this.age = age;
               }
               /*定义一个学生*/
               function Student(name,age,grade){
                   this.grade = grade;
                   Person.apply(this,arguments);

               }
               /*实例化一个学生*/
               var student = new Student("张三",21,"一年级");
               alert("name:"+student.name+"\n"+"age:"+student.age+"\n"+"grade:"+student.grade);
           </script>

 

 

posted on 2014-02-15 15:56  凡vv凡  阅读(293)  评论(0编辑  收藏  举报