为什么这段代码返回undefined?

时间:2017-06-15 04:22:46

标签: javascript

我是javascript的新手,为什么这段代码返回undefined?

    const foo = {  
      bar: function() { return this.baz; },
      baz: 1,
    };

    console.log((function() {
      return typeof arguments[0]();
    })(foo.bar));

1 个答案:

答案 0 :(得分:-1)

如果您希望答案number无法从您的代码返回。 这是对这个关键字的误解(正如@Tushar @Bergi所指出的那样)

以下代码执行此操作。

function Foo(){
    this.baz = 1;
};

Foo.prototype.bar = function() {
    "use strict";
    return this.baz;
}

var foo = new Foo();
console.log((function() {
    "use strict";
    return typeof arguments[0];
})(foo.bar()));