javascript - isu skop pembolehubah
伊谢尔伦
伊谢尔伦 2017-05-19 10:07:17
0
2
419
var name = 'World!';
(function () {
    if (typeof name === 'undefined') {
        var name = 'Jack';
        console.log('Goodbye ' + name);
    } else {
        console.log('Hello ' + name);
    }
})();

Maafkan saya, nama ialah pembolehubah global Mengapa ia tidak ditentukan dalam fungsi pelaksanaan segera

伊谢尔伦
伊谢尔伦

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

membalas semua(2)
刘奇

Kerana terdapat juga pembolehubah nama dalam fungsi laksana kendiri anda Nama pembolehubah dalam fungsi laksana sendiri diisytiharkan dengan var dan akan dinaikkan ke bahagian atas skop fungsi laksana sendiri
Iaitu, kod anda. boleh dilihat secara kasar sebagai dilaksanakan seperti ini

(function () {
//最新执行
var name
//然后执行if
if (typeof name === 'undefined') {
    //然后在这里给name赋值
    name = 'Jack';
    console.log('Goodbye ' + name);
} else {
    console.log('Hello ' + name);
}
})()
曾经蜡笔没有小新

Perhatikan promosi berubah-ubah, kod anda akan menjadi seperti berikut selepas menghuraikan

var name ;
name = 'World!';
(function () {
    var name;
    if (typeof name === 'undefined') {
        name = 'Jack';
        console.log('Goodbye ' + name);
    } else {
        console.log('Hello ' + name);
    }
})();
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan