一、call()/apply()方法
作用:改变this指向
区别:传参的形式不同
正常函数在执行的时候内部调用了.call()方法。
function test() { console.log("hello world"); } test(); // hello world test.call(); // hello world
构造函数在执行时,可以通过.call()方法改变this指向。来看一个简单例子:
var obj = {}; function Person(name, age) { this.name = name; this.age = age; } var per = new Person(); Person.call(obj, "wade", 39); // 通过.call()方法将this指向了obj console.log(per.name, per.age); // undefined undefined console.log(obj); // {name: "wade", age: 39} console.log(obj.name, obj.age); // wade 39