如何使用“嚴格模式”來保護我的 JavaScript 程式碼?


在本教程中,我們將學習如何使用“嚴格模式”來保護 JavaScript 程式碼。程式碼中的一些錯誤會被 JavaScript 引擎忽略,如果任何一行程式碼失敗,它將不執行任何操作。為了指示存在錯誤,我們可以使用嚴格模式,這將使 JavaScript 引擎丟擲一個錯誤。

use strict”是一個字面量表達式,它是我們可以新增到程式碼中的指令,而不是新增到任何程式碼塊中。我們可以在整個指令碼、函式或類中新增此“use strict”指令。

語法

現在讓我們來看一下如何使用“嚴格模式”來保護整個指令碼的 JavaScript 程式碼的語法:

<script>
   "use strict";
</script>

在上面的語法中,我們在整個指令碼中添加了“use strict”指令,如果整個程式碼中發生任何錯誤,它將使 JavaScript 引擎丟擲錯誤。

現在讓我們來看一下如何使用“嚴格模式”來保護特定函式的 JavaScript 程式碼的語法:

<script> // normal code function name_of_function(){ "use strict"; // code for function } </script>

在上面的語法中,我們在整個指令碼中添加了“use strict”指令,如果整個程式碼中發生任何錯誤,它將使 JavaScript 引擎丟擲錯誤。

我們已經瞭解瞭如何使用“嚴格模式”來保護 JavaScript 程式碼的演算法,現在讓我們透過示例來了解所有步驟的實現。

示例 1

在這個示例中,我們將為整個指令碼使用嚴格模式,並在其中定義一些函式。我們將在指令碼中初始化一個未宣告的變數,以展示“use script”指令的使用。

<!DOCTYPE html> <html> <head> <script> "use strict"; a = 7; function function_one() { function nested() { document.getElementById("result").innerHTML = "This is the nested function of first function"; } nested(); document.getElementById("result").innerHTML += "<br> This is the first function"; } function function_second() { document.getElementById("result").innerHTML = "This is the second function"; } </script> </head> <body> <h3>How to secure my JavaScript using "Strict mode"?</h3> <p>Press this button to call the first function. <button onclick = "function_one()"> Press Me </button> </p> <p>Press this button to call the second function. <button onclick = "function_second()"> Press Me </button> </p> <p id = "result"> </p> </body> </html>

在上面的程式碼中,我們定義了程式碼體,其中定義了兩個段落,每個段落都包含一個按鈕。對於按鈕,我們定義了onclick事件,單擊它們時將呼叫預定義的函式。

在指令碼中,我們在指令碼開頭添加了“use strict”指令,然後初始化了一個未宣告的變數。之後定義了兩個函式,它們將寫入文件,第一個函式還包含一個巢狀函式。

示例 2

在這個示例中,我們將使用嚴格模式,但不是針對整個指令碼,而是在指令碼中定義一些函式。我們將建立兩個函式,第一個函式將包含“use strict”指令和一個巢狀函式,第二個函式只包含寫入表示式。我們將在指令碼中初始化一個未宣告的變數,以展示“use script”指令的使用。

<!DOCTYPE html> <html> <head> <script> function function_one() { "use strict"; function nested() { document.write("This is the nested function of first function"); } nested(); document.write("<br> This is the first function"); } function function_second() { document.write("This is the second function"); } </script> </head> <body> <h3>How to secure my JavaScript using "Strict mode"?</h3> <p>Press this button to call the first function. <button onclick = "function_one()"> Press Me </button> </p> <p>Press this button to call the second function. <button onclick = "function_second()"> Press Me </button> </p> </body> </html>

在上面的程式碼中,我們定義了程式碼體,其中定義了兩個段落,每個段落都包含一個按鈕。對於按鈕,我們定義了onclick事件,單擊它們時將呼叫預定義的函式。

在指令碼中,我們建立了兩個函式,第一個函式將包含“use strict”指令和一個巢狀函式,第二個函式只包含寫入表示式。

注意 在具有預設引數的函式中不允許使用嚴格模式。

例如

function add(first = 1, second = 2) {
   "use strict";
   return first + second;
}

上面的 JavaScript 程式碼將丟擲一個語法錯誤,因為我們不能在具有預設引數的函式中使用“use strict”指令。

結論

在本教程中,我們學習瞭如何使用“嚴格模式”來保護 JavaScript 程式碼。程式碼中的一些錯誤會被 JavaScript 引擎忽略,如果任何一行程式碼失敗,它將不執行任何操作。為了指示存在錯誤,我們可以使用嚴格模式,這將使 JavaScript 引擎丟擲一個錯誤。“use strict”是一個字面量表達式,它是我們可以新增到程式碼中的指令,而不是新增到任何程式碼塊中。我們可以在整個指令碼、函式或類中新增此“use strict”指令。

更新於: 2022年11月7日

189 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.