国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - Saya melihat fungsi dalam bahagian pengisytiharan fungsi dan saya tidak begitu memahaminya.
我想大聲告訴你
我想大聲告訴你 2017-07-05 10:38:34
0
4
886

Ini adalah contoh ketinggian js di atas
Lihat bahawa pengisytiharan fungsi mempunyai kod

if(condition){
    function sayHi(){
        alert('hi')
    }
}else{
    function sayHi(){
        alert('Yo')
    }
}

Dikatakan bahawa kod ini mempunyai sintaks yang tidak sah Kebanyakan pelayar akan mengembalikan pernyataan kedua, dan Firefox akan mengembalikan pernyataan pertama.
Jika ia boleh ditukar kepada bentuk ungkapan fungsi, mengapa ini?

var sayHi;
if(condition){
    sayHi=function(){
        alert('Hi')
    }
}else{
    sayHi=function(){
        alert('Yo!')
    }
}
我想大聲告訴你
我想大聲告訴你

membalas semua(4)
黃舟

Kerana yang pertama ialah pengisytiharan fungsi, tetapi fungsi biasanya tidak diisytiharkan dalam if-else

Yang kedua adalah untuk menetapkan fungsi tanpa nama kepada pembolehubah Tidak ada perkara seperti promosi

黃舟

Fungsi penulisan xxx(){} secara langsung akan menghasilkan pengisytiharan awal Jika terdapat dua fungsi sedemikian dengan nama yang sama, ia bersamaan dengan melaksanakan var xxx dua kali di bahagian atas, jadi ia tidak sah

.
伊謝爾倫

Ia tiada kaitan dengan awalan pengisytiharan Pada masa itu, spesifikasi JavaScript masih ES5, penyemak imbas belum lagi melaksanakan skop peringkat blok (ES2016+), dan tahap skop hanyalah tahap fungsi. Jadi anda menulisnya

if(condition){
    function sayHi(){
        alert('hi')
    }
}else{
    function sayHi(){
        alert('Yo')
    }
}

dan ditulis oleh

function sayHi(){
  alert('hi')
}
function sayHi(){
  alert('Yo')
}

Tiada perbezaan penting

洪濤

js diisytiharkan terlebih dahulu! ! ! Fungsi akan disebut secara langsung di bahagian atas skop apabila ia diisytiharkan. Tiada skop dalam if, jadi kedua-dua fungsi adalah satu skop, dan yang kedua akan menggantikan yang pertama. ! Bagi kod kedua anda, anda mengisytiharkan pembolehubah sayhi dahulu, dan kemudian memberikan nilai kepada sayhi selepas penghakiman if,

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan