call(对象,参数,参数)
可以改变this的指向
第一个参数:更改this指定到的对象
后面的参数就是当前方法需要的参数
function Student(name){
this.name=name
this.showInfo=function(){
console.log(this.name)
}
this.abc=function(a,b,c){
console.log(this.name+a+b+c)
}
}
var s1=new Student("张三")
var s2=new Student("李四")
var s3=new Student("王五")
s1.abc.call(s2,1,2,3)=========>输出(李四,1,2,3)
s2.abc.call(s3,1,2,3)=========>输出(王五,1,2,3)
s3.abc.call(s1,1,2,3)=========>输出(张三,1,2,3)
apply(对象,[参数,参数,参数])
可以改变this指向 ,还可以改变 传参的方式 , 统一用数组传参
call(对象,参数,参数)
可以改变this的指向
第一个参数:更改this指定到的对象
后面的参数就是当前方法需要的参数
function Student(name){
this.name=name
this.showInfo=function(){
console.log(this.name)
}
this.abc=function(a,b,c){
console.log(this.name+a+b+c)
}
}
var s1=new Student("张三")
var s2=new Student("李四")
var s3=new Student("王五")
s1.abc.apply(s3,[1,2,3])===========》王五123
s2.abc.apply(s1,[4,5,6])===========》张三456
s3.abc.apply(s2,[7,8,9])===========》李四789