js的apply

对js的apply的一些测试和理解:

 /*定义一个人类*/  
function Person(name,age) {   
    this.name=name; 
    this.age=age;   
}   
 /*定义一个学生类*/   
function Student(name,age,grade) {   
    Person.apply(this,arguments); 
    this.grade=grade;   
}   
//创建一个学生类   
var student=new Student("张三",14,"一年级");   
//测试   
console.log("name:"+student.name+"
"+"age:"+student.age+"
"+"grade:"+student.grade);

输出:name:张三,age:14,grade:一年级

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

Function.apply(obj,args)方法能接收两个参数  

obj:这个对象将代替Function类里this对象  

args:这个是数组,它将作为参数传给Function(args-->arguments)  

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

Function.call(obj,[param1[,param2[,…[,paramN]]]])  

obj:这个对象将代替Function类里this对象  

params:这个是一个参数列表

原文地址:https://www.cnblogs.com/lswit/p/5016296.html