真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

在JavaScript中var的缺點有哪些

這篇文章主要介紹在JavaScript中var的缺點有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、嘉善網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、購物商城網(wǎng)站建設(shè)、集團公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為嘉善等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

JavaScript中var存在的缺陷:1、var定義的變量沒有塊作用域;2、var定義的全局變量會自動添加全局window對象的屬性;3、var定義的變量會提前裝載。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

使用var定義變量可能存在如下問題:

  • var定義的變量沒有塊作用域。

  • var定義的全局變量會自動添加全局window對象的屬性。

  • var定義的變量會提前裝載。

那么如何彌補var的缺陷?可以使用let關(guān)鍵字,let關(guān)鍵字的出現(xiàn)正好解決了上述問題

1.let定義的變量有塊作用域:

我們先來看代碼:


	for(let i = 0;i < 10; i++){
		console.log(i);
	}
	console.log("循環(huán)體之外:" + i);//報錯:letScope.html:5 Uncaught ReferenceError: i is not defined

運行結(jié)果:
在JavaScript中var的缺點有哪些
上面的程序在for循環(huán)中使用了let來定義循環(huán)計數(shù)器,這樣該循環(huán)計數(shù)器i將只在for循環(huán)中有效,因此程序在循環(huán)體之外訪問i變量就會報錯。如果用var來定義i變量,則會將作用域擴散到循環(huán)體外。

2.let定義的全局變量不會自動添加到window對象的屬性:

我們再看一個示例:


	let name = '巴啦啦';
		console.log(name); //輸出巴啦啦
		console.log(window.name); //window.name不存在

運行結(jié)果:

在JavaScript中var的缺點有哪些
上面代碼使用let定義一個全局變量name,但與使用var定義全局變量不同的是,使用let定義的全局變量不會變成window對象的屬性,所以運行上面程序訪問window.name時,看不到任何輸出。

3.let定義的變量不會提前裝載:

看如下示例:


	var name = '巴啦啦';
	function func(){
		console.log(name);
		let name = 'fkit';
		console.log(name);
	}
	func();

運行結(jié)果:

在JavaScript中var的缺點有哪些

使用let定義的變量要等到程序流執(zhí)行到定義變量的代碼行時才會轉(zhuǎn)載。

上面程序先定義了一個全局變量name,接下來程序再func()函數(shù)中使用let定義了同名的name變量,此時局部變量name會覆蓋全局的name變量。但由于使用let定義的變量不會提前裝載,因此func()函數(shù)在使用let定義局部變量name之前訪問name變量會導(dǎo)致錯誤-----如果將func()函數(shù)中定義name變量的關(guān)鍵字改為var,則會有不同的效果。

修改后運行結(jié)果如下:

在JavaScript中var的缺點有哪些

以上是“在JavaScript中var的缺點有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


文章標題:在JavaScript中var的缺點有哪些
轉(zhuǎn)載源于:http://weahome.cn/article/jhsdjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部