Gejala:
1. Dalam JavaScript, deklarasi variabel dan fungsi akan dipromosikan ke eksekusi teratas.
2. Peningkatan fungsi lebih tinggi dari peningkatan variabel.
3. Jika variabel eksternal dengan nama yang sama dinyatakan di dalam fungsi dengan VAR, fungsi tidak akan lagi terlihat ke atas.
4. Fungsi anonim tidak akan dipromosikan.
5. Fungsi di berbagai <script> blok tidak saling mempengaruhi.
contoh:
Fungsi Deklarasi Promosi lebih tinggi dari deklarasi variabel
// menyatakan variabel A dan fungsi Avar a; function a () {} alert (typeof a); // "Fungsi" ditampilkan, yang awalnya membuktikan bahwa prioritas fungsi lebih tinggi dari VAR. // Nyatakan fungsi terlebih dahulu dan kemudian nyatakan variabel, membuktikan bahwa contoh di atas tidak berfungsi menimpa fungsi variabel a () {} var a; waspada (typeof a); // Layar masih "fungsi", bukan "tidak terdefinisi", yaitu, prioritas fungsi lebih tinggi dari VAR. // nyatakan variabel dan tetapkan fungsi nilai a () {} var a = 1; waspada (typeof a); // Nomor, ini bukan fungsi saat ini. // Catatan: "Var a = 1" setara dengan "var a; a = 1", yaitu, menyatakan pertama dan kemudian menetapkan nilai. "A = 1" setara dengan menugaskan kembali A, yang secara alami nomor!Fungsi menggunakan VAR untuk mendefinisikan variabel yang sama dengan bagian luar, dan fungsi tidak akan lagi mencari variabel eksternal ke atas.
var value = 'hello'; function show () {alert (value); if (! value) {var value = 'function'; } alert (value);} show () // Fungsi disebut di sini dan muncul "tidak terdefinisi", "fungsi" // Contoh di atas setara dengan var value = 'hello'; function show () {var value; // Perhatikan lansiran baris ini (nilai); if (! value) {value = 'function'; // baris ini menghapus var} peringatan (nilai);} show () // 1. Jika nilai yang didefinisikan secara internal dalam acara di kolom di atas tidak menggunakan VAR, variabel eksternal akan digunakan, dan "halo" akan muncul, "halo". // 2. Jika nilai tidak didefinisikan di dalam fungsi, nilai nilai di luar juga dapat diperoleh.Fungsi anonim tidak akan meningkat ke atas
getName()var getName = function () { alert('closule')}function getName() { alert('function')}getName()//The above code is equivalent to function getName() { //The function is raised up alert('function')}getName()var getName = function () { alert('closule')}getName()//The code execution pops up "Fungsi" dan "Closule"Fungsi di berbagai <script> blok tidak mempengaruhi satu sama lain
<script> getName () var getName = function () {waspada ('closule')} <script> <script> function getName () {waspada ('function')} <script> // Kode Eksekusi Kesalahan: TypeError: GetName bukan fungsi // karena fungsi GetName () pada Fungsi <Script> tidak ada fungsi yang ditentukan, anonim tidak akan didefinisikan, anonim.Diskusi singkat di atas tentang peningkatan variabel dan deklarasi fungsi dalam JavaScript adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.