Questions tagged «function-expression»

5
为什么要使用命名函数表达式?
我们有两种在JavaScript中执行函数表达式的方式: 命名函数表达式(NFE): var boo = function boo () { alert(1); }; 匿名函数表达式: var boo = function () { alert(1); }; 而且两个都可以用调用boo();。我真的看不到为什么/何时应该使用匿名函数以及何时应该使用命名函数表达式。他们之间有什么区别?

5
递归调用javascript函数
我可以在变量中创建一个递归函数,如下所示: /* Count down to 0 recursively. */ var functionHolder = function (counter) { output(counter); if (counter > 0) { functionHolder(counter-1); } } 这样,functionHolder(3);将输出3 2 1 0。假设我做了以下事情: var copyFunction = functionHolder; copyFunction(3);将输出3 2 1 0如上。如果我再更改functionHolder如下: functionHolder = function(whatever) { output("Stop counting!"); 然后functionHolder(3);将给出Stop counting!,如预期的那样。 copyFunction(3);现在给出3 Stop counting!它所指的functionHolder,而不是函数(它本身指向的)。在某些情况下这可能是理想的,但是有没有一种方法可以编写函数,以便它调用自身而不是保存它的变量? 也就是说,是否可以仅更改线路,functionHolder(counter-1);以便3 2 1 0在调用时仍能完成所有这些步骤copyFunction(3);?我试过了,this(counter-1);但这给了我错误this …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.