经典面试题(4):use strict 有什么意义和好处?
對于這個問題,你可以這樣回答面試官:use strict 是一種在JavaScript代碼運行時自動實行更嚴格解析和錯誤處理的方法。
嚴格模式的一些主要優點包括:
1.使調試更加容易。那些被忽略或默默失敗了的代碼錯誤,會產生錯誤或拋出異常,因此盡早提醒你代碼中的問題,你才能更快地指引到它們的源代碼。
2.防止意外的全局變量。如果沒有嚴格模式,將值分配給一個未聲明的變量會自動創建該名稱的全局變量。這是JavaScript中最常見的錯誤之一。在嚴格模式下,這樣做的話會拋出錯誤。
3.消除?this?強制。如果沒有嚴格模式,引用null或未定義的值到?this?值會自動強制到全局變量。這可能會導致許多令人頭痛的問題和讓人恨不得拔自己頭發的bug。在嚴格模式下,引用 null或未定義的?this?值會拋出錯誤。
4.不允許重復的屬性名稱或參數值。當檢測到對象中重復命名的屬性,例如:
var object = {foo: "bar", foo: "baz"};)
或檢測到函數中重復命名的參數時,例如:
function foo(val1, val2, val1){})
嚴格模式會拋出錯誤,因此捕捉幾乎可以肯定是代碼中的bug可以避免浪費大量的跟蹤時間。
5.使?eval()?更安全。在嚴格模式和非嚴格模式下,?eval()?的行為方式有所不同。最顯而易見的是,在嚴格模式下,變量和聲明在?eval()?語句內部的函數不會在包含范圍內創建(它們會在非嚴格模式下的包含范圍中被創建,這也是一個常見的問題源)。
6.在?delete?使用無效時拋出錯誤。?delete?操作符(用于從對象中刪除屬性)不能用在對象不可配置的屬性上。當試圖刪除一個不可配置的屬性時,非嚴格代碼將默默地失敗,而嚴格模式將在這樣的情況下拋出異常。
熱門文章
原創教程原創教程:
附加習題:
趣味職場職場焦慮:
感到迷茫:
培訓出身:
培訓費用:
搞笑黑話:
職業自由:
職場形象:
合作推廣分割線
總結
以上是生活随笔為你收集整理的经典面试题(4):use strict 有什么意义和好处?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云炬随笔20210722(2)
- 下一篇: 云炬随笔20210722(3)