首先,还是先介绍一下call和apply方法。
1.所有的函数都默认包含applycall这两种方法。
2.调用函数的apply和call方法,就相当于调用该函数。
3.call方法和apply的方法:通过传参的方式,强制函数内的this指向某一对象,this引用的会被指向call/apply的第一个参数。
4.apply和call方法的不同:call方法第一个参数之外的参数是直接按参数列表传递,而apply方法第一个参数之外的参数是通过数组传递。
举例说明:
function say(age,gender){
console.log("My name is" +this.name+"I'm a"
+age+"years old"+gender+".");}
say.call({name:"cup"},12,"boy");
say.apply({name:"cup"},[12,"boy"])