js中apply方法的使用
1.每个函数都包括两个非继承来的方法,apply和call。
2.相同点:两个方法作用都相同。
都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域。(即继承)
一般来说,this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向。
//学生年龄 function student(stuAge){ debugger; this.stuAge = stuAge; this.testStu = function (){ alert('学生年龄:'+this.stuAge) } } //老师年龄 function teacher(a,tcAge){ debugger; this.tcAge = tcAge; this.tcTest =function (){ alert('老师年龄:'+this.tcAge); } } //学校 function school(stuAge,tcAge){ debugger; student.apply(this,arguments); teacher.apply(this,arguments); } var sch = new school(12,35); sch.testStu(); sch.teacher();
参考:https://www.cnblogs.com/sghy/p/7646633.html