4

注: これは主に理論上の実践です。

function one() {
    return [1, function() { one(); }];
}
console.log((one()[1])());

出力は を与えundefinedます。なんで?

4

1 に答える 1

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(); }]
于 2013-06-01T02:33:47.243 に答える