Node.js嚴格模式

"use?strict"是JavaScript中一個非常好的特性,而且非常容易使用。

作用

- 消除Javascript語法的一些不合理、不嚴謹之處,減少一些怪異行為;

- 消除代碼運行的一些不安全之處,保證代碼運行的安全;

- 提高編譯器效率,增加運行速度;

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


使用方法

//?file.js

"use?strict"

function test(){}

這樣的file.js都會應用上"use?strict"模式。

如果你僅想在一個函數中使用,如下代碼僅僅在test中起作用

//?file.js

function test(){

????"use?strict";

? ? function?temp(){}

}

嚴格模式的作用

1、檢查對象中的重復鍵

es6支持重復鍵

let value =?{

????a?:?0,

????b:?1,

????a?:?1

}

這段代碼會拋出一個錯誤因為?a?出現(xiàn)了兩次。這比你用眼睛去找錯誤要快多了。

2、未聲明變量

plane?=?5;

3、重復的參數

function?test(data,?data){

}

注意data出現(xiàn)了兩次,因此會拋出一個錯誤。

4、限制函數中的arguments

function test(data){

????arguments[0]?=?'aaa';

????console.log(data);

}

run('bbb');? ? ?//'aaa';

現(xiàn)在你可以使用"use?strict"

?function test(data){

? ? "use?strict";

????arguments[0]?=?'aaa';

????console.log(data, arguments);

}

run('bbb');? ?//bbb??{ '0': 'aaa' }

arguments[0]?=?'aaa'?改變了參數data,在嚴格模式下,這種操作無效,只對arguments起作用

5、不能用前導0聲明8進制直接量

例如: let a = 012;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容