可以像函数声明一样为函数表达式指定一个名字,但这并不会使函数表达式成为函数声明。命名函数表达式的名字不会进入名字空间,也不会被提升。
f();//TypeError:
f is not a functionfoo();//ReferenceError:
foo is not definedvar f
= function foo(){console.log(typeof foo);};f();//functionfoo();//ReferenceError:
foo is not defined
本文探讨了JavaScript中命名函数表达式的特殊性质,包括其名称的可见性和作用域限制。通过几个示例说明了命名函数表达式与函数声明的区别,解释了为何函数名仅在函数体内可用。
234

被折叠的 条评论
为什么被折叠?



