【发布时间】:2020-05-01 20:23:01
【问题描述】:
我明白为什么第一个输出是 10,但我无法理解为什么第二个输出是 2
var length = 10;
function fn() {
console.log(this.length);
}
var obj = {
length: 5,
method: function(fn) {
fn();
arguments[0]();
}
};
obj.method(fn, 1);
【问题讨论】:
-
你应该调试代码。您可以设置断点并检查值并进入方法调用。这应该可以帮助您了解它是如何工作的,以及为什么您会得到所得到的输出。
标签: javascript ecmascript-6 this javascript-objects