如何使用“嚴格模式”保護我的 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”指令新增到整個指令碼、函式或類中。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP