javascript定義變量時帶var與不帶var的區(qū)別分析
更新時間:2015年01月12日 14:52:00 投稿:shichen2014
這篇文章主要介紹了javascript定義變量時帶var與不帶var的區(qū)別,以一個簡單實例分析了變量定義時帶var與不帶var的執(zhí)行原理及用法區(qū)別,需要的朋友可以參考下
本文實例分析了javascript定義變量時帶var與不帶var的區(qū)別。分享給大家供大家參考。具體分析如下:
直接看實例里說明:
復制代碼 代碼如下:
<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>
嚴格來說:函數(shù)體內(nèi)不帶var,并不是指定義一個變量,而是進行變量賦值,即var abc;abc=8。在函數(shù)體內(nèi)如果進行賦值 abc=80(不帶var),實際過程是這樣的——該語句先在函數(shù)體內(nèi)查找變量abc,如果找不到,它會往上在函數(shù)體外繼續(xù)查找變量abc,如果還是找不到,最后沒有辦法,只能在函數(shù)體外定義變量var abc。
所以,為什么
復制代碼 代碼如下:
function test(){
abc = 80;
}
abc = 80;
}
能夠在函數(shù)外部直接調(diào)用變量abc,也就是這么一個原因。
希望本文所述對大家的javascript程序設計有所幫助。
相關(guān)文章
JS實現(xiàn)手機號脫敏、郵箱脫敏、身份證號脫敏、姓名脫敏等常見脫敏代碼示例
這篇文章主要給大家介紹了關(guān)于JS實現(xiàn)手機號脫敏、郵箱脫敏、身份證號脫敏、姓名脫敏等常見脫敏的相關(guān)資料,脫敏的目的是保護用戶隱私,一種常見的方式是顯示部分字符,用星號或其他字符替代,需要的朋友可以參考下2024-02-0211個ES13中令人驚嘆的JavaScript新特性總結(jié)
與許多其他編程語言一樣,JavaScript?也在不斷發(fā)展,小編今天就為大家介紹ES13中添加的最新功能,并查看其用法示例以更好地理解它們,有需要的小伙伴可以了解下2023-09-09JavaScript實現(xiàn)彈出子窗口并傳值給父窗口
這篇文章主要介紹了JavaScript實現(xiàn)彈出子窗口并傳值給父窗口,方法很簡單,這里推薦給大家,需要的朋友可以參考下2014-12-12