JavaScript作用域的一个问题?
伊谢尔伦
伊谢尔伦 2017-04-10 15:03:39
0
5
579

例如:

var outter = [];
function fun () {
    for (var i = 0; i < 4; i++) {
        var x = {};
        x.invoke = function () {
            console.log(i);
        };
        outter.push(x);
    }
}
fun();
console.log(outter[0].invoke());
console.log(outter[1].invoke());
console.log(outter[2].invoke());
console.log(outter[3].invoke());

结果是:4 4 4 4 。
fun()执行完毕以后局部变量不是释放掉了吗?怎么outter[0].invoke()还能访问到局部变量i?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全員に返信(5)
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!