0
当函数被调用时,this.apply(obj);
的用途是什么。例如这个代码。应用对象功能
Function.prototype.blio = function (a) {
this.hurka = 'hurka';
var obj = {};
this.apply(obj); // what exactly happens here ?
}
当函数被调用时,this.apply(obj);
的用途是什么。例如这个代码。应用对象功能
Function.prototype.blio = function (a) {
this.hurka = 'hurka';
var obj = {};
this.apply(obj); // what exactly happens here ?
}
让我们试试吧!
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
是通过apply
你可以阅读更多的设置为{}
在Function.prototype.apply
on MDN docs here
好吧,但是这一行发生了什么this.apply(obj) ;被定义为。什么意思this.apply(...)在函数内部? – theChampion
看看这里https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply –