javascript定義變量時帶var與不帶var的區(qū)別分析
更新時間:2015年01月12日 14:52:00 投稿:shichen2014
這篇文章主要介紹了javascript定義變量時帶var與不帶var的區(qū)別,以一個簡單實例分析了變量定義時帶var與不帶var的執(zhí)行原理及用法區(qū)別,需要的朋友可以參考下
本文實例分析了javascript定義變量時帶var與不帶var的區(qū)別。分享給大家供大家參考。具體分析如下:
直接看實例里說明:
復(fù)制代碼 代碼如下:
<script language="javascript" type="text/javascript">
var abc=89;//帶var,表示全局變量
function test(){
var abc=80;//在函數(shù)內(nèi)部,如果不帶var,表示使用函數(shù)外全局變量;帶上var,表示新定義一個全局變量
}
test();
window.alert(abc);
</script>
var abc=89;//帶var,表示全局變量
function test(){
var abc=80;//在函數(shù)內(nèi)部,如果不帶var,表示使用函數(shù)外全局變量;帶上var,表示新定義一個全局變量
}
test();
window.alert(abc);
</script>
嚴(yán)格來說:函數(shù)體內(nèi)不帶var,并不是指定義一個變量,而是進行變量賦值,即var abc;abc=8。在函數(shù)體內(nèi)如果進行賦值 abc=80(不帶var),實際過程是這樣的——該語句先在函數(shù)體內(nèi)查找變量abc,如果找不到,它會往上在函數(shù)體外繼續(xù)查找變量abc,如果還是找不到,最后沒有辦法,只能在函數(shù)體外定義變量var abc。
所以,為什么
復(fù)制代碼 代碼如下:
function test(){
abc = 80;
}
abc = 80;
}
能夠在函數(shù)外部直接調(diào)用變量abc,也就是這么一個原因。
希望本文所述對大家的javascript程序設(shè)計有所幫助。
相關(guān)文章
用js+iframe形成頁面的一種遮罩效果的具體實現(xiàn)
用js形成頁面的一種遮罩效果,選擇想要進行遮罩的窗口,在這里想要遮罩的是一個iframe窗口,具體的實現(xiàn)如下,感興趣的朋友可以參參考下2013-12-12
深入理解JavaScript 中的執(zhí)行上下文和執(zhí)行棧
這篇文章主要介紹了JavaScript 中的執(zhí)行上下文和執(zhí)行棧的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-10-10
Bootstrap開發(fā)實戰(zhàn)之第一次接觸Bootstrap
Bootstrap開發(fā)實戰(zhàn)之第一次接觸Bootstrap,想要學(xué)好一門語言,首先應(yīng)該進行深入了解,感興趣的小伙伴們可以參考一下2016-06-06

