function-expression相关内容

为什么我不能为同名的命名函数表达式中的变量赋值?

这是一个名为 test 的命名函数表达式.在里面,我将 123 分配给一个变量,也称为 test.然后记录 test.该函数在控制台中打印其主体,但不打印 123.这种行为的原因是什么? (函数测试(){测试 = 123;控制台日志(测试);}()); 我对函数执行的解释哪里失败了? 函数执行的开始:test 是一个引用函数本身的局部变量 局部变量test被重新赋值给123 cons ..

递归调用javascript函数

我可以像这样在变量中创建递归函数: /* 递归倒数到 0.*/var functionHolder = 函数(计数器){输出(计数器);如果(计数器> 0){functionHolder(counter-1);}} 这样,functionHolder(3); 将输出 3 2 1 0.假设我做了以下事情: var copyFunction = functionHolder; copyFunc ..
发布时间:2021-12-07 23:11:43 前端开发

为什么要使用命名函数表达式?

我们有两种不同的方式在 JavaScript 中进行函数表达式: 命名函数表达式 (NFE): var boo = function boo() {警报(1);}; 匿名函数表达式: var boo = function () {警报(1);}; 并且它们都可以用 boo(); 调用.我真的不明白为什么/何时应该使用匿名函数以及何时应该使用命名函数表达式.它们之间有什么区别? ..

JavaScript中存储的命名函数表达式中标识符的不变绑定记录在哪里?

最近,我遇到了一些有关命名函数表达式(NFE)的有趣事实.我知道可以在函数体内访问NFE的函数名称,这使递归更加方便并节省了arguments.callee.并且功能名称在功能主体外部不可用.例如 var foo = function bar() { console.log(typeof bar); }; typeof foo; // 'function' typeof bar; ..
发布时间:2020-07-23 01:23:10 前端开发

使用命名函数表达式有什么意义?

我正在浏览此博客,讨论函数声明和函数表达式之间的区别. 给出了两个例子.他们称第一个为“匿名函数表达式",第二个为“命名函数表达式". // anonymous function expression var a = function(){ return 3; } // named function expression var b = function bar(){ r ..
发布时间:2020-07-23 01:23:04 前端开发

为什么不能给具有相同名称的命名函数表达式中的变量赋值?

这是一个名为test的命名函数表达式.在内部,我将123分配给一个变量,也称为test.然后记录test.该函数在控制台中打印其主体,但不打印123.发生这种行为的原因是什么? (function test() { test = 123; console.log( test ); }()); 我对函数执行的解释在哪里失败? 开始执行函数:test是引用函数本身的局部变量 ..

函数声明和函数表达式的性能差异

我使用了 JSperf 来测试 code 。 根据我遇到的几篇文章,两者都应该有类似的表现,而test2有一点优势。但这里完全相反。有人可以解释为什么这个巨大的差异吗? 编辑:我也了解他们之间的差异。请不要将其标记为此或其他有关语义差异的问题,并且不会回答我关于表现的问题。 谢谢。 我猜这不是意图。 在这个替代测试,我已经安排了一些事情以避免函数的重复定义,并添加了一 ..
发布时间:2018-04-17 10:46:06 前端开发