Rumah > Soal Jawab > teks badan
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
怪我咯2017-05-19 10:09:17
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);
}
})()
曾经蜡笔没有小新2017-05-19 10:09:17
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);
}
})();