JS函数问题
var foo=function bar() {};
为什么以上代码分解后为这样?看起来var bar不是应该放在外面?
var foo=function () {
var bar = ...self...
}
2 回复
因为外面访问不了bar
[CNodeMD]
根据规范:
var foo=function bar() {};
并不等于
function bar() {};
var foo=bar;
例如以下代码:
var foo=function bar() {};
foo.name === 'bar';
var foo=function () {};
foo.name === 'foo'
var foo=function bar() {};
bar(); // ReferenceError: bar is not defined
var foo=function bar() {
console.log(foo.name); // 'bar'
console.log(bar.name); // 'bar'
};