var myFunction = function functionName()

时间:2015-10-19 11:08:51

标签: javascript function

我总是习惯写这样的函数:

var myFunction = function(param) {
    console.log(param);
};
myFunction('myFunction');

现在我已经看到了这个:

var otherFunction = function whyNameHere(param) {
    console.log(param);
};
otherFunction('otherFunction');

我想知道whyNameHere是什么?函数何时以及为什么要这样写?我也可以称之为与上面的myFunction函数完全相同..为什么有人会写whyNameHere?还有这种功能的命名吗?

如果有人想玩它,here is a fiddle

1 个答案:

答案 0 :(得分:0)

使用它可以在创建的函数对象上设置.name属性。

> var f = function g() { }
< undefined
> f.name
< "g"

以后不可能改变它:

> f.name = "f"
< "f"
> f.name
< "g"

它对......事物很有用。

示例:

setImmediate(function unicorns() {
    console.log("rainbow");
    throw "glitter";
});

将在堆栈跟踪中显示为:

Uncaught glitter
    unicorns @ VM691:4

而不是

Uncaught glitter
    (anonymous function) @ VM693:4