Javascript 在函数中应用对象

Javascript 在函数中应用对象,javascript,Javascript,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()

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()调用时

  • blio中的
    this
    foo
  • this.apply
    相当于
    foo.apply
  • 内部
    foo
    通过
    应用设置为
    {}

您可以阅读更多关于

的内容,请在此处查看,好的,但这一行中的this.apply(obj)发生了什么;定义了。这是什么意思。在函数内部应用(…)?