var myFunction = function functionName()

var myFunction = function functionName()

本文关键字:functionName function myFunction var      更新时间:2023-09-26

我过去总是这样写函数:

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

现在我看到了这个:

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

,我想知道什么是whyNameHere ?什么时候,为什么函数应该这样写?我也可以把它和上面的myFunction函数完全一样。为什么有人要写whyNameHere ?这类函数也有命名吗?

如果有人想玩它,这里有一个小提琴

使用它可以在创建的函数对象上设置.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