我正在学习javascript,我目前的理解是javascript用于范围界定的主要方式是函数范围,并且通常没有块范围。
所以我想出了这个:
var obj = {
foo: function myfunc() {
console.log("123");
}
};
myfunc();
我认为因为javascript没有块范围,myfunc()
的定义将在全局范围内可见。但它实际上没有。有人可以帮忙解释一下吗?
答案 0 :(得分:1)
有三点你的理解存在缺陷:
foo
属性新创建的对象。有关详细信息,请参阅var functionName = function() {} vs function functionName() {}。