Javascript的嚴格模式strictmode詳細介紹_javascript技巧
來源:懂視網
責編:小采
時間:2020-11-27 21:24:02
Javascript的嚴格模式strictmode詳細介紹_javascript技巧
Javascript的嚴格模式strictmode詳細介紹_javascript技巧:嚴格模式(strict mode)是ECMA-262 Edition 5定義的新語法,表示要用嚴格的Javascript語法來執行,有一些過去慣用的寫法就會拋出SyntaxError異常,例如:1.變量前沒有用var宣告2.使用八進制語法:var n = 023和var s = \047
導讀Javascript的嚴格模式strictmode詳細介紹_javascript技巧:嚴格模式(strict mode)是ECMA-262 Edition 5定義的新語法,表示要用嚴格的Javascript語法來執行,有一些過去慣用的寫法就會拋出SyntaxError異常,例如:1.變量前沒有用var宣告2.使用八進制語法:var n = 023和var s = \047

“嚴格模式”(strict mode)是ECMA-262 Edition 5定義的新語法,表示要用嚴格的Javascript語法來執行,有一些過去慣用的寫法就會拋出SyntaxError異常,例如:
1.變量前沒有用var宣告
2.使用八進制語法:var n = 023和var s = "\047"
3.使用with語句
4.使用delete刪除一個變量名(而不是屬性名):delete myVariable
5.使用eval或arguments作為變量名或函數名
6.使用未來保留字(也許會在ECMAScript 6中使用):implements, interface, let, package, private, protected, public, static,和yield作為變量名或函數名
7.在語句塊中使用函數聲明:if(a
8.其他錯誤
8.1.對象子面量中使用兩個相同的屬性名:{a: 1, b: 3, a: 7}
8.2.函數形參中使用兩個相同的參數名:function f(a, b, b){}這些下面具體說明。
一、為什么使用”嚴格模式”(strict mode)
設立”嚴格模式”的目的,主要有以下幾個:
1.消除Javascript語法的一些不合理、不嚴謹之處,減少一些怪異行為;
2.消除代碼運行的一些不安全之處,保證代碼運行的安全;
3.提高編譯器效率,增加運行速度;
4.為未來新版本的Javascript做好鋪墊。
“嚴格模式”體現了Javascript更合理、更安全、更嚴謹的發展方向,包括IE 10在內的主流瀏覽器,都已經支持它,許多大項目已經開始全面擁抱它。
另一方面,同樣的代碼,在”嚴格模式”中,可能會有不一樣的運行結果;一些在”正常模式”下可以運行的語句,在”嚴格模式”下將不能運行。掌握這些內容,有助于更細致深入地理解Javascript,讓你變成一個更好的程序員。
本文將對”嚴格模式”做詳細介紹。
二、宣告”嚴格模式”(strict mode)
宣告”嚴格模式”(strict mode)很簡單只有一條語句:
代碼如下:"use strict";
注:老版本的瀏覽器會把它當作一行普通字符串,加以忽略。
三、宣告”嚴格模式”(strict mode)的位置及上下文關系
“嚴格模式”(strict mode)主要是影響他所在的scope,如果在函數中使用,并不會讓global scope以及其他未使用的函數變成”嚴格模式”(strict mode)。也就是說 嚴格模式聲明的范圍取決于其上下文。 如果在全局上下文(函數的范圍之外)中聲明嚴格模式,則程序中的所有代碼都處于嚴格模式。 如果在函數中聲明嚴格模式,則函數中的所有代碼都處于嚴格模式。 例如,在下面的示例中,所有代碼都處于嚴格模式,并且函數外部的變量聲明會導致出現語法錯誤:“嚴格模式下未定義變量”。”嚴格模式”有兩種調用方法,適用于不同的場合。
1.針對整個腳本文件
將”use strict”放在腳本文件的第一行,則整個腳本都將以”嚴格模式”運行。如果這行語句不在第一行,則無效,整個腳本以”正常模式”運行。如果不同模式的代碼文件合并成一個文件,這一點需要特別注意。
(嚴格地說,只要前面不是產生實際運行結果的語句,”use strict”可以不在第一行,比如直接跟在一個空的分號后面。)
代碼如下:
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
Javascript的嚴格模式strictmode詳細介紹_javascript技巧
Javascript的嚴格模式strictmode詳細介紹_javascript技巧:嚴格模式(strict mode)是ECMA-262 Edition 5定義的新語法,表示要用嚴格的Javascript語法來執行,有一些過去慣用的寫法就會拋出SyntaxError異常,例如:1.變量前沒有用var宣告2.使用八進制語法:var n = 023和var s = \047