如何使用“严格模式”保护我的 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”指令添加到整个脚本、函数或类中。