您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)如何在JavaScript中使用嚴(yán)格模式,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
嚴(yán)格模式通過(guò)在腳本或函數(shù)的頭部添加 "use strict"; 表達(dá)式來(lái)聲明。
不允許使用未聲明的變量。
"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ò)
不允許對(duì)只讀屬性賦值:
"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)鍵字指向全局對(duì)象
為什么使用嚴(yán)格模式:
消除Javascript語(yǔ)法的一些不合理、不嚴(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)類型、弱類型的語(yǔ)言,基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性并廣泛用于客戶端網(wǎng)頁(yè)開(kāi)發(fā)的腳本語(yǔ)言,同時(shí)也是一種廣泛用于客戶端Web開(kāi)發(fā)的腳本語(yǔ)言。它主要用來(lái)給HTML網(wǎng)頁(yè)添加動(dòng)態(tài)功能,現(xiàn)在JavaScript也可被用于網(wǎng)絡(luò)服務(wù)器,如Node.js。
關(guān)于如何在JavaScript中使用嚴(yán)格模式就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。