在函数中应用对象

时间:2014-12-21 19:03:02

标签: javascript

调用函数时this.apply(obj);的目的是什么。例如这段代码。

    Function.prototype.blio = function (a) {
        this.hurka = 'hurka';
        var obj = {};
        this.apply(obj); // what exactly happens here ?
    }

1 个答案:

答案 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中的
  • bliofoo
  • this.apply相当于foo.apply
  • 通过thisfoo内{li> {}设置为apply

您可以在Function.prototype.apply on MDN docs here

上阅读更多内容