如何使用“嚴格模式”保護我的 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 strict”指令的使用。

<!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 strict”指令的使用。

<!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.