這篇文章將為大家詳細(xì)講解有關(guān)如何在JavaScript中使用嚴(yán)格模式,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
創(chuàng)新互聯(lián)科技有限公司專業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供IDC機(jī)房托管,高防物理服務(wù)器租用,成都IDC機(jī)房托管,成都主機(jī)托管等互聯(lián)網(wǎng)服務(wù)。
嚴(yán)格模式通過在腳本或函數(shù)的頭部添加 "use strict"; 表達(dá)式來聲明。
不允許使用未聲明的變量。
"use strict"; myFunction(); function myFunction() { y = 3.14; // 報(bào)錯(cuò) (y 未定義) }
在函數(shù)內(nèi)部聲明是局部作用域 (只在函數(shù)內(nèi)使用嚴(yán)格模式):
x = 3.14; // 不報(bào)錯(cuò) myFunction(); function myFunction() { "use strict"; y = 3.14; // 報(bào)錯(cuò) (y 未定義) }
不允許刪除變量或?qū)ο?/strong>
"use strict"; var x = 3.14; delete x; // 報(bào)錯(cuò)
不允許刪除函數(shù)。
"use strict"; function x(p1, p2) {}; delete x; // 報(bào)錯(cuò)
不允許變量重名:
"use strict"; function x(p1, p1) {}; // 報(bào)錯(cuò)
不允許使用八進(jìn)制:
"use strict"; var x = 010; // 報(bào)錯(cuò)
不允許使用轉(zhuǎn)義字符:
"use strict"; var x = \010; // 報(bào)錯(cuò)
不允許對只讀屬性賦值:
"use strict"; var obj = {}; Object.defineProperty(obj, "x", {value:0, writable:false}); obj.x = 3.14; // 報(bào)錯(cuò)
不允許刪除一個(gè)不允許刪除的屬性:
"use strict"; delete Object.prototype; // 報(bào)錯(cuò)
變量名不能使用 "eval" 字符串:
"use strict"; var eval = 3.14; // 報(bào)錯(cuò)
變量名不能使用 "arguments" 字符串:
"use strict"; var arguments = 3.14; // 報(bào)錯(cuò)
禁止this關(guān)鍵字指向全局對象
為什么使用嚴(yán)格模式:
消除Javascript語法的一些不合理、不嚴(yán)謹(jǐn)之處,減少一些怪異行為;
消除代碼運(yùn)行的一些不安全之處,保證代碼運(yùn)行的安全;
提高編譯器效率,增加運(yùn)行速度;
"嚴(yán)格模式"體現(xiàn)了Javascript更合理、更安全、更嚴(yán)謹(jǐn)?shù)陌l(fā)展方向,包括IE 10在內(nèi)的主流瀏覽器,都已經(jīng)支持它。
javascript是一種動(dòng)態(tài)類型、弱類型的語言,基于對象和事件驅(qū)動(dòng)并具有相對安全性并廣泛用于客戶端網(wǎng)頁開發(fā)的腳本語言,同時(shí)也是一種廣泛用于客戶端Web開發(fā)的腳本語言。它主要用來給HTML網(wǎng)頁添加動(dòng)態(tài)功能,現(xiàn)在JavaScript也可被用于網(wǎng)絡(luò)服務(wù)器,如Node.js。
關(guān)于如何在JavaScript中使用嚴(yán)格模式就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。