首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >不同的函数命名方式?

不同的函数命名方式?
EN

Stack Overflow用户
提问于 2013-10-31 22:43:18
回答 1查看 75关注 0票数 0

在Javascript中,以下内容有什么区别:

var name = function() { //stuff to do };

{name : function() { //stuff to do } };

function name() { //stuff to do };

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-01 00:29:34

由Stoyan Stefanov在"JavaScript Patterns"中编写

在函数声明和命名函数表达式中,定义了name属性。在匿名函数表达式中,它取决于实现;它可以是未定义的(IE)或使用空字符串定义的(Firefox,WebKit):

function foo() {} //声明var bar = function () {};// expression var baz = function baz() {};//命名表达式foo.name;// "foo“bar.name;// "”baz.name;// "baz“

在Firebug或其他调试器中调试代码时,name属性很有用。当调试器需要显示函数中的错误时,它可以检查是否存在name属性,并将其用作指示器。name属性还用于从其内部递归调用同一函数。如果您对这两种情况不感兴趣,那么一个未命名的函数表达式将会更容易,并且不那么冗长。

反对函数声明的理由和首选函数表达式的原因是,表达式强调函数是对象,就像所有其他对象一样,而不是某种特殊的语言构造。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19709541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档