0
我是JS新手,想学习。该规范要求如下: 编写一个函数,该函数将另一个函数*作为参数并创建一次只能被调用一次的函数版本。重复调用修改的函数将不起作用,从原始调用返回值。你怎么能不使用闭包来做到这一点?它甚至有可能吗?你怎么能用闭包来做到这一点? *注意:这个原始输入功能不应该有任何参数。在Javascript中执行简单闭包时出现运行时错误
这是我有:
var divide = function() {
var x = 2;
var y = 6;
return y/x;
}
var mainFunc = function (func) {
return func(){
return y/x + 1;
}
}
var output = mainFunc(divide);
console.log(divide());
console.log(output());
console.log(output());
我得到一个“意外令牌{”出错“返回FUNC(){”我不太明白我做错了什么?根据规范,我将divide()传递给mainFunc()并将其设置为参考变量输出。然后我多次调用divide()和output()来测试闭包是否工作,并且修改过的函数只发生一次。我错过了什么或不理解?
感谢您的帮助。
回报FUNC(其结果){//这是一个语法错误,{是这里意外的标记 – 2014-09-24 19:37:20
语法错误怎么样?我将divide()传递给mainFunc(),所以func()应该采用divide的属性,对吗? – rahul2001 2014-09-24 19:44:58
如果你解释你想要达到的目标,或许它可能有所帮助。用语言,而不是代码。 – 2014-09-24 19:48:28