JavaScript中函數(shù)聲明優(yōu)先于變量聲明

同一個(gè)標(biāo)示符,先后用var和function聲明它。最后它是什么呢?

var a; ? ? ? ? ? ? ? ? ? // 聲明一個(gè)變量,標(biāo)識(shí)符為a

function a() { ? ? ? // 聲明一個(gè)函數(shù),標(biāo)示符也為a

}

alert(typeof a);

顯示的是“function”,即function的優(yōu)先級(jí)高于var。

有人覺(jué)得這是代碼順序執(zhí)行的原因,即a被后執(zhí)行的funcion覆蓋了。好,將它們調(diào)換下。

function a() {

}

var a;

alert(typeof a);

結(jié)果仍然顯示的是“function”而非“undefined”。即函數(shù)聲明優(yōu)先于變量聲明。

我們把代碼稍作修改,聲明a時(shí)同時(shí)賦值。

function a() {

}

var a = 1; // 注意此處

alert(typeof a);

這時(shí)顯示的是“number”卻不是“function”了,這相當(dāng)于

function a() {

}

var a;

a = 1; // 注意此處

alert(typeof a);

即把“var a = 1”拆分為兩步。 a被重新賦值了,自然是最后的那個(gè)值。

摘自 snandy

www.2cto.com/kf/201203/121457.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 第一章: JS簡(jiǎn)介 從當(dāng)初簡(jiǎn)單的語(yǔ)言,變成了現(xiàn)在能夠處理復(fù)雜計(jì)算和交互,擁有閉包、匿名函數(shù), 甚至元編程等...
    LaBaby_閱讀 1,701評(píng)論 0 6
  • 《ijs》速成開(kāi)發(fā)手冊(cè)3.0 官方用戶(hù)交流:iApp開(kāi)發(fā)交流(1) 239547050iApp開(kāi)發(fā)交流(2) 10...
    葉染柒丶閱讀 5,321評(píng)論 0 7
  • 深入理解JavaScript系列文章,包括了原創(chuàng),翻譯,轉(zhuǎn)載,整理等各類(lèi)型文章,如果對(duì)你有用,請(qǐng)推薦支持一把,給大...
    DaveWeiYong閱讀 625評(píng)論 0 1
  • 前端07班 王語(yǔ)句JavaScript程序的執(zhí)行單位為行(line),也就是一行一行地執(zhí)行。一般情況下,每一行就是...
    ea203453e188閱讀 911評(píng)論 0 4
  • 人世間的任何事 都不是那么的一帆風(fēng)順 期兮之 唯吾愿之 不達(dá)兮 盼君無(wú)悔之 惜兮之 方可圓之
    千層云林閱讀 245評(píng)論 5 19