91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中用var和不用var有什么區別

發布時間:2021-08-12 17:13:45 來源:億速云 閱讀:103 作者:chen 欄目:開發技術

這篇文章主要講解了“JavaScript中用var和不用var有什么區別”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“JavaScript中用var和不用var有什么區別”吧!

  Javascript聲明變量的,雖然用var關鍵字聲明和不用關鍵字聲明,很多時候運行并沒有問題,但是這兩種方式還是有區別的。可以正常運行的代碼并不代表是合適的代碼。

  varnum=1;

  是在當前域中聲明變量。如果在方法中聲明,則為局部變量(localvariable),如果是在全局域中聲明,則為全局變量。

  而

  num=1;

  事實上是對屬性賦值操作。首先,它會嘗試在當前作用域鏈(如在方法中聲明,則當前作用域鏈代表全局作用域和方法局部作用域etc。。。)中解析num,如果在任何當前作用域鏈中找到num,則會執行對num屬性賦值,如果沒有找到num,它才會在全局對象(即當前作用域鏈的最頂層對象,如window對象)中創造num屬性并賦值。

注意!它并不是聲明了一個全局變量,而是創建了一個全局對象的屬性。

  即便如此,可能你還是很難明白"變量聲明"跟"創建對象屬性"在這里的區別。事實上,Javascript的變量聲明、創建屬性以及每個Javascript中的每個屬性都有一定的標志說明它們的屬性----如只讀(ReadOnly)不可枚舉(DontEnum)不可刪除(DontDelete)等等。

  由于變量聲明自帶不可刪除屬性,比較varnum=1跟num=1,前者是變量聲明,帶不可刪除屬性,因此無法被刪除;后者為全局變量的一個屬性,因此可以從全局變量中刪除。

  Javascript聲明變量的時候,雖然用var關鍵字聲明和不用關鍵字聲明,很多時候運行并沒有問題,但是這兩種方式還是有區別的。可以正常運行的代碼并不代表是合適的代碼。

  varnum=1;

  是在當前域中聲明變量。如果在方法中聲明,則為局部變量(localvariable),如果是在全局域中聲明,則為全局變量。

  而

  num=1;

  事實上是對屬性賦值操作。首先,它會嘗試在當前作用域鏈(如在方法中聲明,則當前作用域鏈代表全局作用域和方法局部作用域etc。。。)中解析num,如果在任何當前作用域鏈中找到num,則會執行對num屬性賦值,如果沒有找到num,它才會在全局對象(即當前作用域鏈的最頂層對象,如window對象)中創造num屬性并賦值。

  注意!它并不是聲明了一個全局變量,而是創建了一個全局對象的屬性。

  即便如此,可能你還是很難明白"變量聲明"跟"創建對象屬性"在這里的區別。事實上,Javascript的變量聲明、創建屬性以及每個Javascript中的每個屬性都有一定的標志說明它們的屬性----如只讀(ReadOnly)不可枚舉(DontEnum)不可刪除(DontDelete)等等。

  由于變量聲明自帶不可刪除屬性,比較varnum=1跟num=1,前者是變量聲明,帶不可刪除屬性,因此無法被刪除;后者為全局變量的一個屬性,因此可以從全局變量中刪除。

  //num1為全局變量,num2為window的一個屬性

  varnum1=1;

  num2=2;

  //deletenum1;無法刪除

  //deletenum2;刪除

  functionmodel(){

  varnum1=1;//本地變量

  num2=2;//window的屬性

  //匿名函數

  (function(){

  varnum=1;//本地變量

  num1=2;//繼承作用域(閉包)

  num3=3;//window的屬性

  }())

  }

  最后:在ECMAScript5標準中,有一種"嚴格模式"(StrictMode)。在嚴格模式中,為未聲明的標識符賦值將會拋引用錯誤,因此可以防止意外的全局變量屬性的創造。目前一些瀏覽器的新版本已經支持。

感謝各位的閱讀,以上就是“JavaScript中用var和不用var有什么區別”的內容了,經過本文的學習后,相信大家對JavaScript中用var和不用var有什么區別這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

古蔺县| 江北区| 建始县| 和田县| 黄大仙区| 武强县| 双柏县| 湘阴县| 大同县| 三明市| 涞水县| 武清区| 封丘县| 旬阳县| 晋城| 武功县| 株洲市| 马龙县| 四子王旗| 婺源县| 卫辉市| 遂溪县| 怀化市| 天全县| 扶风县| 天水市| 牡丹江市| 会理县| 廉江市| 大悟县| 汝南县| 沂源县| 乐清市| 四平市| 涞源县| 山丹县| 颍上县| 长治市| 河源市| 故城县| 洛阳市|