gpt4 book ai didi

javascript - Google Chrome 中的匿名函数表达式

转载 作者:行者123 更新时间:2023-11-28 05:37:09 24 4
gpt4 key购买 nike

我使用的是 Google Chrome 版本 52 64 位。我发现如果我使用匿名函数表达式 ex.

//  Anonymous function expression 
var expressionFunc = function(){
return true;
};

变量expressionFunc将保存分配的匿名函数,但它还添加了一个名称属性 expressionFunc到这个函数。所以如果我这样做expressionFunc.name在控制台中,它会给我expressionFunc .

据我所知,这个匿名函数表达式应该保持匿名,并且变量引用的函数不应在函数的 name 属性中包含变量名称。

为什么 chrome 将 name 属性分配给匿名函数?

最佳答案

本页:

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Function/name

这样说

Browsers that implement ES6 functions can infer the name of an anonymous function from its syntactic position. For example:

var f = function() {};
console.log(f.name); // "f"

该页面上没有特别的解释。

本页

http://www.2ality.com/2015/09/function-names-es6.html

这样说

With regard to names, arrow functions are like anonymous function expressions:

     const func = () => {};
console.log(func.name); // func

From now on, whenever you see an anonymous function expression, you can assume that an arrow function works the same way.

答案在https://stackoverflow.com/a/37488652/1048572 (由 @bergi 引用)非常全面,并指出了规范中的来源。

关于javascript - Google Chrome 中的匿名函数表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39269192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com