gpt4 book ai didi

javascript - javascript中的命名函数表达式+ 'F'?

转载 作者:行者123 更新时间:2023-11-30 05:37:50 25 4
gpt4 key购买 nike

当我阅读时this article关于 javascript 模式/反模式-

然后 - 我看到了这部分:

// named function expression + 'F'
// Benefits:
// 1. Get's rid of (anonymous function) in stack traces
// 2. Recurse by calling the name + 'F'
// 3. Doesn't break an IE (well, unless there's a function name collision of the sort described here: https://github.com/jashkenas/coffee-script/issues/366#issuecomment-242134)


var getData = function getDataF () {}; //<----- notice ends with F

相对于前面的例子:

 var getData = function getData () {};

问题:

函数以 F 结尾的东西是什么?函数是否以 F 结尾真的有区别吗(根据文章,有)?这个带有 F 的 psotfix 的正式名称是什么?

简而言之:http://i.stack.imgur.com/NwvWa.jpg

编辑

没看到变量名和函数名一样这显然是他们想说的……

最佳答案

难以调试,因为它是一个匿名函数并且没有函数名称出现在堆栈跟踪中(例如 Firebug):

var getData = function () {
};

更好地调试,因为函数名称出现在堆栈跟踪中,但是这会破坏 IE,因为函数与变量同名:

var getData = function getData () {
};

更好地调试,因为函数名称出现在堆栈跟踪中, IE 不会因为函数与变量同名而中断。缺点是,变量有另一个名称作为函数(可能会造成混淆)。您可以使用任何其他字符代替“F”(但最好始终使用相同的字符以避免混淆):

var getData = function getDataF () {
};

关于javascript - javascript中的命名函数表达式+ 'F'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22501745/

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