![](/img/trans.png)
[英](My failed) Javascript challenge: function add()()() with closures
[英]javascript function scope challenge
我遇到了一个使用函数范围概念的JavaScript问题。 特别是,这是我需要解决的问题:
定义一个名为callFunc的函数,它接受一个参数,一个函数f。 它应该返回一个包含值f(0),f(0),f(1),f(1)的数组。 你只能拨打两次电话。
到目前为止我的代码是:
var f = function(x) {
return x+2;
};
var callFunc = function (f) {
return [f(0), f(1)];
};
我不知道如何只使用两个调用和JavaScript函数范围原则返回四个元素的数组。
这真的很简单:
function callFunc(f) {
var f0, f1;
f0 = f(0);
f1 = f(1);
return [f0,f0,f1,f1];
}
我...不完全确定为什么你会遇到麻烦。 减少函数调用的数量是你应该做的事情(这就是为什么我畏缩大多数jQuery代码,其中有$(this)
就像20次......)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.