在JavaScript中是否可以编写连续的嵌套函数?
Is it possible to write continuous nested functions in JavaScript?
我知道这是闭包领域,什么不是。但是是否可以连续调用嵌套的匿名函数?
假设我有这个:
function testing(input) {
var testing = 0;
(function() {
testing = testing + 1;
})()
return "testing";
}
我们可以有这样的东西吗testing()()()()()()()
?
您可以使用内部函数来进行更新并使用 toString
方法来获取原始值。
function testing() {
function fn() {
string += ++counter;
return fn;
}
var counter = 0,
string = 'foo';
fn.toString = _ => string;
return fn();
}
console.log(testing());
console.log(testing()());
console.log(testing()()());
我知道这是闭包领域,什么不是。但是是否可以连续调用嵌套的匿名函数?
假设我有这个:
function testing(input) {
var testing = 0;
(function() {
testing = testing + 1;
})()
return "testing";
}
我们可以有这样的东西吗testing()()()()()()()
?
您可以使用内部函数来进行更新并使用 toString
方法来获取原始值。
function testing() {
function fn() {
string += ++counter;
return fn;
}
var counter = 0,
string = 'foo';
fn.toString = _ => string;
return fn();
}
console.log(testing());
console.log(testing()());
console.log(testing()()());