这里是代码。
let obj, method;
obj = {
go() { alert(this); }
};
obj.go(); // (1) [object Object]
(obj.go)(); // (2) [object Object] QUESTION 2
(method = obj.go)(); // (3) undefined
(obj.go || obj.stop)(); // (4) undefined ------> Doubt <-------------------
所以为什么?问题2与问题1相同,只是添加了括号。但是问题4的评估如何发生?结果在问题4中未定义,而在问题2中相同的结果
Part-2
如果我错了,请纠正我。
我正在研究这种内部对象方法的行为,而我只能停留在一个输出上。这是代码。 let obj,方法; obj = {go(){alert(this); }; obj.go(); //(1)[...
()
左侧的功能参考值来自对象属性参考的事实。因此,函数调用的发生方式与情况1完全相同,对象引用绑定到this
。