【发布时间】:2013-10-31 14:43:18
【问题描述】:
在Javascript中有什么区别:
var name = function() { //stuff to do };
{name : function() { //stuff to do } };
function name() { //stuff to do };
【问题讨论】:
-
那是
javascript吗?
标签: javascript function naming
在Javascript中有什么区别:
var name = function() { //stuff to do };
{name : function() { //stuff to do } };
function name() { //stuff to do };
【问题讨论】:
javascript吗?
标签: javascript function naming
正如 Stoyan Stefanov 在"JavaScript Patterns" 中所写:
在函数声明和命名函数表达式中,名称 属性被定义。在匿名函数表达式中,它取决于 实施;它可以是未定义的 (IE) 或用 空字符串(Firefox、WebKit):
function foo() {} // declaration var bar = function () {}; // expression var baz = function baz() {}; // named expression foo.name; // "foo" bar.name; // "" baz.name; // "baz"name 属性在在 Firebug 或其他程序中调试代码时很有用 调试器。当调试器需要向您显示函数中的错误时, 它可以检查 name 属性的存在并将其用作 指标。 name 属性也用于调用相同的函数 从自身内部递归。如果你对这些不感兴趣 两种情况,然后一个未命名的函数表达式会更容易并且 不那么冗长。
反对函数声明的理由和首选的理由 函数表达式是表达式突出显示函数 是像所有其他对象一样的对象,而不是某种特殊的语言 构造。
【讨论】: