调用函数时this.apply(obj);
的目的是什么。例如这段代码。
Function.prototype.blio = function (a) {
this.hurka = 'hurka';
var obj = {};
this.apply(obj); // what exactly happens here ?
}
答案 0 :(得分:2)
让我们试一试!
function foo() {
console.log(this);
}
foo(); // logs window
console.log(foo.hurka); // undefined
foo.blio(); // logs {}
console.log(foo.hurka); // "hurka"
但等一下,foo.blio
调用foo
!
因此,当调用foo.blio()
this
中的blio
为foo
this.apply
相当于foo.apply
this
将foo
内{li> {}
设置为apply