亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么全局變量被認為是糟糕的做法?

為什么全局變量被認為是糟糕的做法?

LEATH 2019-06-25 15:24:37
為什么全局變量被認為是糟糕的做法?我一直看到警告不要在JavaScript中使用全局變量,但是人們說這是因為全局名稱空間阻塞了,這似乎是唯一的原因。我可以想象,通過將所有變量放入一個大對象中,可以很容易地解決這個問題。現在的問題是:除了方便起見,還有其他原因不使用全局變量嗎?是否涉及到性能或兼容性問題?
查看完整描述

3 回答

?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

它們使全局命名空間混亂,查找速度比局部變量慢。

首先,擁有許多全局變量總是一件壞事,因為很容易忘記您在某個地方聲明了一個變量,并意外地在其他地方重新聲明了它。如果第一個變量是本地變量,那么就沒有問題。如果它是全球性的,那么它就被改寫了。當你進入隱含的全局(例如,當你說someVar = someValue而不聲明某人var關鍵字)。

其次,全局變量比局部變量要花費更長的時間才能找到Javascript。速度上的差別不是很大,但是是嗎?存在。


查看完整回答
反對 回復 2019-06-25
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

全局變量可以顯著增加耦合,顯著降低代碼的可伸縮性和可測試性。一旦您開始使用globals,您現在必須知道變量的修改位置和方式(即破壞封裝)。大多數文獻和慣例都會認為,在使用globals時,性能是您最不關心的問題。


查看完整回答
反對 回復 2019-06-25
?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

如果您的腳本很長,并且您使用了來自許多函數的這些變量,那么它將增加您的調試時間,因為全局變量的值可能已經從任何地方更改,所以如果您要跟蹤這些變量更改到非預期值的位置,則必須全部檢查它們。

如果不同的程序員從頁面中包含的其他腳本修改這個變量,那么這個場景就更痛苦了。


查看完整回答
反對 回復 2019-06-25
  • 3 回答
  • 0 關注
  • 552 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號