JavaScript中函數(shù)聲明優(yōu)先于變量聲明的實(shí)例分析
更新時(shí)間:2012年03月01日 22:21:21 作者:
同一個(gè)標(biāo)示符,先后用var和function聲明它。最后它是什么呢
復(fù)制代碼 代碼如下:
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)換下。
復(fù)制代碼 代碼如下:
function a() {
}
var a;
alert(typeof a);
結(jié)果仍然顯示的是“function”而非“undefined”。即函數(shù)聲明優(yōu)先于變量聲明。
我們把代碼稍作修改,聲明a時(shí)同時(shí)賦值。
復(fù)制代碼 代碼如下:
function a() {
}
var a = 1; // 注意此處
alert(typeof a);
這時(shí)顯示的是“number”卻不是“function”了,這相當(dāng)于
復(fù)制代碼 代碼如下:
function a() {
}
var a;
a = 1; // 注意此處
alert(typeof a);
即把“var a = 1”拆分為兩步。 a被重新賦值了,自然是最后的那個(gè)值。
相關(guān)文章
JavaScript繼承的實(shí)現(xiàn)方式詳解
JavaScript 是一門基于原型的語(yǔ)言,它的繼承機(jī)制與傳統(tǒng)的基于類的面向?qū)ο缶幊逃兴煌?盡管 ES6 引入了 class 語(yǔ)法,但本質(zhì)上仍然是基于原型鏈的繼承,本文將詳細(xì)介紹 JavaScript 繼承的幾種實(shí)現(xiàn)方式,需要的朋友可以參考下2025-03-03
jQuery實(shí)現(xiàn)動(dòng)態(tài)文字搜索功能
本文主要介紹了jQuery實(shí)現(xiàn)動(dòng)態(tài)文字搜索功能的分析過(guò)程,文章底部提供了完整的代碼。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-01-01
JavaScript實(shí)現(xiàn)輸入框(密碼框)出現(xiàn)提示語(yǔ)
有時(shí)候我們需要在登陸表單有一些提示語(yǔ)言,比如“請(qǐng)輸入用戶名”和“請(qǐng)輸入密碼”等語(yǔ)言,通過(guò)本文給大家介紹JavaScript實(shí)現(xiàn)輸入框(密碼框)出現(xiàn)提示語(yǔ)的相關(guān)知識(shí),對(duì)js實(shí)現(xiàn)輸入框提示相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-01-01
微信小程序自定義組件的實(shí)現(xiàn)方法及自定義組件與頁(yè)面間的數(shù)據(jù)傳遞問(wèn)題
這篇文章主要介紹了微信小程序自定義組件的實(shí)現(xiàn)方法及自定義組件與頁(yè)面間的數(shù)據(jù)傳遞 ,需要的朋友可以參考下2018-10-10
httpclient模擬登陸具體實(shí)現(xiàn)(使用js設(shè)置cookie)
最簡(jiǎn)單的方法就是通過(guò)得到的cookie定制一個(gè)httpclient,感興趣的朋友可以了解下本文2013-12-12
基于JavaScript Array數(shù)組方法(新手必看篇)
下面小編就為大家?guī)?lái)一篇基于JavaScript Array數(shù)組方法(新手必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08
微信小程序 實(shí)例開(kāi)發(fā)總結(jié)
這篇文章主要介紹了微信小程序 開(kāi)發(fā)過(guò)程中遇到問(wèn)題總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-04-04

