当前位置:  开发笔记 > 编程语言 > 正文

如果你不能用你给它们的名字真正引用它们,那么命名函数表达式有什么意义呢?

如何解决《如果你不能用你给它们的名字真正引用它们,那么命名函数表达式有什么意义呢?》经验,为你挑选了2个好方法。

如果你不能用你给它们的名字真正引用它们,那么命名函数表达式有什么意义呢?

var f = function g() {
    console.log("test");
};

g(); // ReferenceError: g is not defined

Rocket Hazma.. 11

哦,但你可以用这个名字引用它们.这些名称只存在函数的范围内.

var f = function g() {
    // In here, you can use `g` (or `f`) to reference the function
    return typeof g;
};

console.log( typeof g );
// It only exists as `f` here
console.log( f() );

DOCS:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/function#Named_function_expression



1> Rocket Hazma..:

哦,但你可以用这个名字引用它们.这些名称只存在函数的范围内.

var f = function g() {
    // In here, you can use `g` (or `f`) to reference the function
    return typeof g;
};

console.log( typeof g );
// It only exists as `f` here
console.log( f() );


2> lex82..:

我发现特别有用的一个优点是它在调试时有所帮助.

发生错误时,您会在控制台的堆栈跟踪中看到函数名称.否则,堆栈跟踪中的行只会引用匿名函数.

您还可以通过为其命名来使功能更清晰.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有