從零開始學習前端JAVASCRIPT — 5、JavaScript基礎ES5

來源:互聯網
上載者:User

標籤:兩種   包括   支援   沒有   col   寫法   相對   就是   聲明   

1:ES5簡介

ECMAScript 5.1 (或僅 ES5) 是ECMAScript(基於JavaScript的規範)標準的修正。 與HTML5規範進程本質類似,ES5通過對現有JavaScript方法添加語句和原生ECMAScript對象做合并實現標準化。

2:strict 模式的意義

  相對於正常模式而言:

1:消除Javascript文法的一些不合理、不嚴謹之處,減少一些怪異行為。

2:消除代碼啟動並執行一些不安全之處,保證代碼啟動並執行安全。

3:提高編譯器效率,增加運行速度。

4:為未來新版本的Javascript做好鋪墊。

"strict 模式"體現了Javascript更合理、更安全、更嚴謹的發展方向,包括IE 10在內的主流瀏覽器,都已經支援它,許多大項目已經開始全面擁抱它。

3:進入strict 模式

進入“strict 模式”的標誌,書寫這行語句:"use strict";

老版本的瀏覽器會把它當作一行一般字元串,加以忽略。

4:如何調用strict 模式

"strict 模式"有兩種調用方法,適用於不同的場合。

針對整個指令檔:將"use strict"放在指令檔的第一行,則整個指令碼都將以"strict 模式"運行。如果這行語句不在第一行,則無效,整個指令碼以"正常模式"運行。如果不同模式的代碼檔案合并成一個檔案,這一點需要特別注意。

針對單個函數:將"use strict"放在函數的第一行,則整個函數以"strict 模式"運行。

指令檔的變通寫法:因為第一種調用方法不利於檔案合并,所以更好的做法是,借用第二種方法,將整個指令檔放在一個立即執行的匿名函數之中。

eg:

// a.js (組員a的js代碼引入strict 模式)/*‘use strict‘;var a = 4;var b = 3;console.log(a + b);*/// b.js(組員b的js代碼引入正常模式)/*var c = 6;var d = 7;console.log(c + d);*///項目上線代碼合并(如果直接合并代碼,組員b的代未按照strict 模式規範來coding,文法可能發生各種問題)。//解決方案:將代碼分別封裝進入兩個匿名自執行函數(function () {‘use strict‘;var a = 4;var b = 3;console.log(a + b);})();(function () {var c = 6;var d = 7;console.log(c + d);})();
5:strict 模式改變文法和行為

strict 模式對Javascript的文法和行為,都做了一些改變。

1:全域變數顯式聲明。

在正常模式中,如果一個變數沒有聲明就賦值,預設是全域變數。strict 模式禁止這種用法,全域變數必須顯式聲明。因此,strict 模式下,變數都必須先用var命令聲明,然後再使用。

javascrip中的變數講解中函數內部不加關鍵字var定義的全域變數如果引入strict 模式,運行程式將會檢查出語法錯誤。採用顯示聲明全域變數。

2:函數形參不允許重複。

3:禁止使用with語句。

4:禁止函數內部this關鍵字指向全域對象,this指向undefined。

5:函數必須聲明在頂層。

將來Javascript的新版本會引入“塊級範圍"。為了與新版本接軌,strict 模式只允許在全域範圍或函數範圍的頂層聲明函數。也就是說,不允許在非函數的代碼塊內聲明函數。

// if(1){function a(){}} else {function a() {}}

從零開始學習前端JAVASCRIPT — 5、JavaScript基礎ES5

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.