为什么如果我们运行以下 javascript 代码:
var foo = {
bar: function () {
alert('s');
}
}
//1. foo.bar();
//2. var a = foo.bar;
//3. var b = (foo.bar);
(foo.bar)();
我们将收到一条错误消息“foo is undefined”,但如果我们取消注释 1. 或 2. 或 3. 行,我们将收到警报“s”?我知道这是关于引用类型和 GetValue(),但我不太明白这一点。
谢谢