JavaScript函数表达式
以下一行:JavaScript函数表达式,javascript,function-declaration,function-expression,Javascript,Function Declaration,Function Expression,以下一行: var A = function def() {alert();}; 只有A调用该函数。def没有。为什么会这样?左侧不是函数delaration吗?在函数表达式中,函数名主要用于自调用。IRL此功能在匿名函数和递归调用(即 (function def() { // ... def(); })(); 好的,有道理。但是为什么def在这个问题上没有来自外部的影响,而如果使用函数def{}来定义它,它会有影响呢?@CharlesW。这是因为函数表达式的名称在其作用域之
var A = function def() {alert();};
只有A调用该函数。def没有。为什么会这样?左侧不是函数delaration吗?在函数表达式中,函数名主要用于自调用。IRL此功能在匿名函数和递归调用(即
(function def() {
// ...
def();
})();
好的,有道理。但是为什么def在这个问题上没有来自外部的影响,而如果使用函数def{}来定义它,它会有影响呢?@CharlesW。这是因为函数表达式的名称在其作用域之外不可见。好的,谢谢!这也是为什么我们可以有很多匿名函数的原因吗?因为他们被限制在自己的范围内,所以没有冲突或歧义?