web前端警惕:意料之外的全局变量声明
生活随笔
收集整理的這篇文章主要介紹了
web前端警惕:意料之外的全局变量声明
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在開(kāi)發(fā)中要盡量避免使用全局變量,但是很多基礎(chǔ)不扎實(shí)的人就可能犯以下這個(gè)錯(cuò)誤!
錯(cuò)誤寫(xiě)法:
function fn(){
var a=b=0;
}
本以為這是定義了兩個(gè)局部變量a,b,但結(jié)果是a是局部變量,b是全局變量。
出現(xiàn)這種情況的原因在于:賦值是從右到左的 ,先把0賦值給b,這時(shí)候b還沒(méi)有定義,所以就變成全部變量了。接著b=0;這個(gè)表達(dá)式的返回值是0;講0賦值給a,a是被定義的,所以a是局部變量。
避免這種情況的做法是使用鏈分配的方式定義變量。
function fn(){
var a,b;
a=b=0;
}
前端愛(ài)好者們約定,閱讀后:
if(‘覺(jué)得有用’){
分享(‘I get it!’);
}else if(‘已了解’){
分享(‘a(chǎn) piece of cake!’);
}else if(‘看不懂’){
回復(fù)小編('help me!');
}
總結(jié)
以上是生活随笔為你收集整理的web前端警惕:意料之外的全局变量声明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Matlab】一个超简单的生成顺序数组
- 下一篇: java怎么获取ie浏览器的cookie