js apply
apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性。
Function.apply(obj,args)方法能接收两个参数:
obj:这个对象将代替Function类里的this对象;
args:这个是数组,它将作为参数传给Function(args-->arguments)
call和apply的意思一样,只不过是参数列表不一样。
Function.call(obj,[param1[,param2[,...[,paramN]]]]):
obj:这个对象将代替Function类里的this对象
params:这个是参数列表。
function Person(name,age) { this.name = name; this.age = age; } function Student(name,age,grade) { Person.apply(this,arguments); this.grade = grade; } var std = new Student("lai",28,"six"); alert("name"+std.name+"\n"+"age:"+std.age+"\n"+"grade:"+std.grade);
分析:Person.apply(this,arguments);
this:在创建对象的这个时候代表的是student;
通俗一点讲就是:用student去执行Person这个类里面的内容,在Person这个类里面存在this.name等之类的语句,这样就讲属性创建到了student对象里面。