注意:这主要是理论上的做法。
function one() {
return [1, function() { one(); }];
}
console.log((one()[1])());
输出结果为undefined
。为什么呢?
答案 0 :(得分:7)
将其拆分:
function one() {
return [1, function() { one(); }];
}
console.log((one()[1])());
one(); // [1, function() { one(); }]
[1] // function() { one(); }
() // undefined
如果您返回one()
,它将返回数组:
function one() {
return [1, function() { return one(); }];
}
console.log((one()[1])());
one(); // [1, function() { return one(); }]
[1] // function() { return one(); }
() // [1, function() { return one(); }]