設立"嚴格模式"的目的,主要有以下幾個:
- 消除Javascript語法的一些不合理、不嚴謹之處,減少一些怪異行為;
- 消除代碼運行的一些不安全之處,保證代碼運行的安全;
- 提高編譯器效率,增加運行速度;
- 為未來新版本的Javascript做好鋪墊。
"嚴格模式"體現了Javascript更合理、更安全、更嚴謹的發展方向,包括IE 10在內的主流浏覽器,都已經支持它,許多大項目已經開始全面擁抱它。
另一方面,同樣的代碼,在"嚴格模式"中,可能會有不一樣的運行結果;一些在"正常模式"下可以運行的語句,在"嚴格模式"下將不能運行。掌握這些內容,有助於更細致深入地理解Javascript,讓你變成一個更好的程序員。
js構造函數類似於
function P (name, age) { this.name = name; this.age = age; }
使用new
操作符則返回一個新的對象,如果沒有加new
操作符則函數內this
指向全局對象window,而在嚴格模式中則為undefined
,借此我們可以判斷浏覽器是否支持嚴格模式
var hasStrictMode = (function(){ "use strict"; return this == undefined; }())
這裡介紹一個方法,可以忽略new
操作符
function P () { if (!(this instanceof P)) return new P(); }
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。