最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解JavaScript嚴格模式的使用方法

 更新時間:2023年05月31日 09:43:01   作者:施主來了  
JavaScript的嚴格模式(Strict?Mode)是一種在代碼中啟用的特殊模式,用于提供更嚴格的語法和錯誤檢查,以改善代碼質(zhì)量和增強安全性,本文主要介紹JS的嚴格模式的用法,可以幫助大家避免一些常見的錯誤,需要的朋友可以參考下

要啟用嚴格模式,可以在代碼的頂部或函數(shù)體的開頭添加以下語句:

"use strict";

啟用嚴格模式后,會應(yīng)用一些限制和變化,包括以下幾個方面:

  • 變量必須先聲明后使用:在嚴格模式下,變量必須通過 var、let 或 const 關(guān)鍵字進行聲明,否則會拋出 ReferenceError。在非嚴格模式下,未聲明的變量會被隱式創(chuàng)建,并被添加到全局對象(比如瀏覽器環(huán)境中的 window 對象)中。

  • 禁止刪除變量、函數(shù)或函數(shù)參數(shù):在嚴格模式下,使用 delete 操作符刪除變量、函數(shù)或函數(shù)參數(shù)會拋出 SyntaxError。

  • 禁止對只讀屬性進行賦值:在嚴格模式下,對只讀屬性(通過 const 關(guān)鍵字聲明的常量)進行賦值會拋出 TypeError。

  • 禁止使用八進制字面量:在嚴格模式下,以 0 開頭的數(shù)字會被視為八進制字面量,這在非嚴格模式下是允許的。嚴格模式下,使用八進制字面量會拋出 SyntaxError。

  • 限制 this 值:在嚴格模式下,函數(shù)內(nèi)部的 this 值不再是全局對象(比如瀏覽器環(huán)境中的 window 對象),而是undefined,除非通過 call()、apply() 或 bind() 明確指定。

  • 禁止使用重復(fù)的函數(shù)參數(shù)名:在嚴格模式下,函數(shù)參數(shù)名不能重復(fù)。在非嚴格模式下,重復(fù)的函數(shù)參數(shù)名會被忽略。

  • 禁止使用 with 語句:在嚴格模式下,使用 with 語句會拋出 SyntaxError。with 語句在非嚴格模式下允許將對象的屬性添加到作用域鏈中,但這被認為是不推薦使用的特性,因為它可能導(dǎo)致代碼可讀性和性能問題。

  • 限制 eval 和 arguments 的賦值:在嚴格模式下,無法對 eval 和 arguments 進行賦值。在非嚴格模式下,這種賦值是允許的。

下面是一些使用JavaScript嚴格模式的例子,展示了嚴格模式下的限制和行為變化:

  • 變量必須先聲明后使用:
"use strict";
x = 10; // 拋出 ReferenceError: x is not defined

在嚴格模式下,對未聲明的變量進行賦值會拋出錯誤。

  • 禁止刪除變量:
"use strict";
var x = 10;
delete x; // 拋出 SyntaxError: Delete of an unqualified identifier in strict mode.

在嚴格模式下,無法使用 delete 操作符刪除變量。

  • 禁止對只讀屬性進行賦值:
"use strict";
var obj = {};
Object.defineProperty(obj, "x", { value: 10, writable: false });
obj.x = 20; // 拋出 TypeError: Cannot assign to read only property 'x' of object '#<Object>'

在嚴格模式下,對只讀屬性進行賦值會拋出錯誤。

  • 八進制字面量的限制:
"use strict";
var num = 012; // 拋出 SyntaxError: Octal literals are not allowed in strict mode.

在嚴格模式下,使用八進制字面量會被視為語法錯誤。

  • 函數(shù)中的 this 值為 undefined:
"use strict";
function showThis() {
  console.log(this);
}
showThis(); // undefined

在嚴格模式下,如果函數(shù)內(nèi)部的 this 值未明確指定,它將保持為 undefined。

這些是嚴格模式下的一些限制和變化,它們有助于提高代碼的可靠性和可維護性。在編寫新代碼或更新現(xiàn)有代碼時,啟用嚴格模式是一種良好的實踐,可以幫助捕獲潛在的錯誤并遵循更嚴格的編碼標(biāo)準。

以上就是詳解JavaScript的嚴格模式的使用方法的詳細內(nèi)容,更多關(guān)于JavaScript的嚴格模式的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • JavaSctit 利用FileReader和濾鏡上傳圖片預(yù)覽功能

    JavaSctit 利用FileReader和濾鏡上傳圖片預(yù)覽功能

    FileReader 對象允許Web應(yīng)用程序異步讀取存儲在用戶計算機上的文件內(nèi)容,使用 File或 Blob對象指定要讀取的文件或數(shù)據(jù)。下面通過本文給大家分享JavaSctit 利用FileReader和濾鏡上傳圖片預(yù)覽功能,需要的朋友參考下吧
    2017-09-09
  • 利用D3.js實現(xiàn)最簡單的柱狀圖示例代碼

    利用D3.js實現(xiàn)最簡單的柱狀圖示例代碼

    D3.js是一個基于數(shù)據(jù)操作文檔JavaScript庫。D3幫助你給數(shù)據(jù)帶來活力通過使用HTML、SVG和CSS。D3重視Web標(biāo)準為你提供現(xiàn)代瀏覽器的全部功能,而不是給你一個專有的框架。最近在學(xué)習(xí)D3.js,這個例子是通過d3.js畫一個簡單的柱狀圖。下面來一起看看吧。
    2016-12-12
  • javascript刪除一個html元素節(jié)點的方法

    javascript刪除一個html元素節(jié)點的方法

    這篇文章主要介紹了javascript刪除一個html元素節(jié)點的方法,可通過獲取父節(jié)點再查找并刪除子節(jié)點來實現(xiàn)該功能,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-12-12
  • JavaScript對象數(shù)組排序?qū)嵗椒\析

    JavaScript對象數(shù)組排序?qū)嵗椒\析

    這篇文章主要介紹了JavaScript對象數(shù)組排序?qū)嵗椒\析的相關(guān)資料,非常不錯,具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
    2016-06-06
  • JavaScript實現(xiàn)圖像模糊化的方法實例

    JavaScript實現(xiàn)圖像模糊化的方法實例

    這篇文章主要介紹了JavaScript實現(xiàn)圖像模糊化的方法,文中先進行簡單介紹,而后給出了完整的實例代碼,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • JavaScript this指向相關(guān)原理及實例解析

    JavaScript this指向相關(guān)原理及實例解析

    這篇文章主要介紹了JavaScript this指向相關(guān)原理及實例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • javascript 避免閉包引發(fā)的問題

    javascript 避免閉包引發(fā)的問題

    閉包的功能強大,但如果沒有正確理解閉包的概念,其結(jié)果往往出乎人的意料。例如,下面是一個較常見的問題
    2009-03-03
  • Javascript 表格操作實現(xiàn)代碼

    Javascript 表格操作實現(xiàn)代碼

    Javascript操作表格 包括獲取值,創(chuàng)建表格
    2009-06-06
  • uploadify在Firefox下丟失session問題的解決方法

    uploadify在Firefox下丟失session問題的解決方法

    在用uploadify上傳插件時遇到了一個問題,在讀session時認為沒有權(quán)限而被攔截了,后來在后臺打印登錄時產(chǎn)生session的id和上傳時讀取session的id,解決方法如下,感興趣的朋友可以了解下
    2013-08-08
  • 微信小程序自定義tab實現(xiàn)多層tab嵌套

    微信小程序自定義tab實現(xiàn)多層tab嵌套

    這篇文章主要為大家詳細介紹了微信小程序自定義tab實現(xiàn)多層tab嵌套,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07

最新評論

搜索| 开平市| 淳安县| 堆龙德庆县| 霸州市| 莲花县| 云浮市| 凉山| 天镇县| 梅河口市| 兴仁县| 文山县| 大姚县| 陵水| 武陟县| 启东市| 库伦旗| 马关县| 丹江口市| 晋城| 龙州县| 南溪县| 化州市| 时尚| 新乐市| 裕民县| 皋兰县| 玉田县| 南部县| 北辰区| 清远市| 正蓝旗| 黄梅县| 安吉县| 雷州市| 孝昌县| 上虞市| 呼图壁县| 罗甸县| 海盐县| 金沙县|