JS-嚴(yán)格模式

嚴(yán)格模式對正常的Javacript語義做了一些更改:
1.嚴(yán)格模式消除了一些 JavaScript的靜默錯誤,通過改變它們來拋出錯誤宿稀。
2.嚴(yán)格的模式修復(fù)了 JavaScript引擎難以執(zhí)行優(yōu)化的錯誤:有時候趁舀,嚴(yán)格模式代碼可以比非嚴(yán)格模式的相同的代碼運行得更快。
3.嚴(yán)格模式禁用了在ECMAScript的未來版本中可能會定義的一些語法祝沸。

行為

使拼寫錯轉(zhuǎn)為異常

1.無法再意外創(chuàng)建全局變量

2.引起靜默失敗

// 給不可寫屬性賦值
var obj1 = {};
Object.defineProperty(obj1, "x", { value: 42, writable: false });
obj1.x = 9; // 拋出TypeError錯誤
// 給只讀屬性賦值
// 給不可擴展對象的新屬性賦值 

3.試圖刪除不可刪除的屬性時會拋出異常

4.不允許同名屬性

5.函數(shù)參數(shù)名唯一

6.禁止八進制數(shù)字語法

7.禁止設(shè)置primitive值的屬性

(function() {
"use strict";
false.true = "";              //TypeError
(14).sailing = "home";        //TypeError
"with".you = "far away";      //TypeError
})();

簡化變量的使用

8.禁用with

9.禁止刪除聲明變量

"use strict";

var x;
delete x; // !!! 語法錯誤

eval("var y; delete y;"); // !!! 語法錯誤

讓eval和arguments變的簡單

10.名稱 eval 和 arguments 不能通過程序語法被綁定(be bound)或賦值

11.參數(shù)的值不會隨 arguments 對象的值的改變而變化

12.不再支持 arguments.callee

為未來的ECMAScript版本鋪平道路

13.一部分字符變成了保留的關(guān)鍵字

14.禁止了不在腳本或者函數(shù)層面上的函數(shù)聲明

"use strict";
if (true){
  function f() { } // !!! 語法錯誤
  f();
}

for (var i = 0; i < 5; i++){
  function f2() { } // !!! 語法錯誤
  f2();
}

function baz() { // 合法
  function eit() { } // 同樣合法
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末矮烹,一起剝皮案震驚了整個濱河市越庇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌奉狈,老刑警劉巖卤唉,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異仁期,居然都是意外死亡桑驱,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進店門跛蛋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來熬的,“玉大人,你說我怎么就攤上這事赊级⊙嚎颍” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵此衅,是天一觀的道長强戴。 經(jīng)常有香客問我,道長挡鞍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任预烙,我火速辦了婚禮墨微,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘扁掸。我一直安慰自己翘县,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布谴分。 她就那樣靜靜地躺著锈麸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪牺蹄。 梳的紋絲不亂的頭發(fā)上忘伞,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天,我揣著相機與錄音沙兰,去河邊找鬼氓奈。 笑死,一個胖子當(dāng)著我的面吹牛鼎天,可吹牛的內(nèi)容都是我干的舀奶。 我是一名探鬼主播,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼斋射,長吁一口氣:“原來是場噩夢啊……” “哼育勺!你這毒婦竟也來了但荤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤涧至,失蹤者是張志新(化名)和其女友劉穎腹躁,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體化借,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡潜慎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蓖康。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铐炫。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蒜焊,靈堂內(nèi)的尸體忽然破棺而出倒信,到底是詐尸還是另有隱情,我是刑警寧澤泳梆,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布鳖悠,位于F島的核電站,受9級特大地震影響优妙,放射性物質(zhì)發(fā)生泄漏乘综。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一套硼、第九天 我趴在偏房一處隱蔽的房頂上張望卡辰。 院中可真熱鬧,春花似錦邪意、人聲如沸九妈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽萌朱。三九已至,卻和暖如春策菜,著一層夾襖步出監(jiān)牢的瞬間晶疼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工做入, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留冒晰,地道東北人。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓竟块,卻偏偏與公主長得像壶运,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子浪秘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 一蒋情、概述 除了正常運行模式埠况,ECMAscript 5添加了第二種運行模式:"嚴(yán)格模式"(strict mode)。...
    才気莮孒閱讀 190評論 0 1
  • 通過嚴(yán)格模式棵癣,可以在函數(shù)內(nèi)部 選擇進行較為嚴(yán)格的全局或局部的錯誤條件檢測辕翰。使用嚴(yán)格模式的好處是可以提早知道代碼中存...
    oWSQo閱讀 486評論 0 0
  • "use strict"使用"use strict"指令的目的是說明(腳本或函數(shù)中)后續(xù)的代碼將會解析為嚴(yán)格代碼(...
    80bb3ef13dea閱讀 1,478評論 0 6
  • 'use strict' 是在一個嚴(yán)格的模式下 在正常模式中,如果一個變量沒有聲明就賦值狈谊,默認是全局變量喜命。嚴(yán)格模式...
    FConfidence閱讀 268評論 0 0
  • 那是一年深秋,滿地的落葉把小鎮(zhèn)染成了一片黃色河劝。那一層層枯葉裝裱的學(xué)校壁榕,不是畫中的顏色。沒有金燦燦的赎瞎,也不像柔...
    sethjie閱讀 443評論 1 0