我正在使用Google Chrome版本52 64位。 我发现,如果我使用匿名函数表达式ex。Google Chrome中的匿名函数表达式
// Anonymous function expression
var expressionFunc = function(){
return true;
};
变量expressionFunc
将持有指定的匿名函数, 但它也加入了名称属性expressionFunc
这个功能。 所以,如果我在控制台expressionFunc.name
, 它会给我expressionFunc
。
从我所知道的这个匿名函数表达式应该保持匿名, 而变量引用的函数不应该在函数的name属性中包含变量名称。
为什么chrome将name属性分配给一个匿名函数?
这是我的理解,你不是在这里创建一个匿名函数,你只是用不同的语法声明函数。很高兴知道这个标准的人更加详细一点。匿名函数更像(function(){alert(true);})(); –
Firefox中的行为是不同的,这表明它并不清晰。 –
这被称为内联匿名函数表达式。这个函数没有名字,所以它是匿名内联函数,赋值给变量使其成为内联匿名函数表达式 – RuvenGam