这份适合初学者的指南将带您学习 JavaScript 严格模式。use strict通过示例,了解其作用、重要性以及如何使用。
介绍
编写 JavaScript 时,很容易犯一些容易被忽视的小错误。这些错误可能不会立即破坏您的代码,但以后可能会导致问题。为了帮助开发者避免此类问题,JavaScript 引入了严格模式。启用严格模式后,您可以编写更简洁、更安全、更可靠的代码。
'use strict'通过在脚本或函数开头添加 来激活严格模式。启用后,JavaScript 将强制执行更严格的规则,从而更容易及早发现错误。
您将学到什么
什么是严格模式以及它为什么存在。
如何在 JavaScript 中启用严格模式。
普通 JavaScript 和严格模式之间的主要区别。
严格模式捕获的常见错误。
在代码中使用严格模式的实际示例。
什么是严格模式?
严格模式是 JavaScript 中的一种特殊模式,它会对代码应用更严格的规则。ECMAScript 5 (ES5) 首次引入了严格模式,旨在通过消除静默错误并强制执行更好的实践来提高 JavaScript 的可靠性。
默认情况下,JavaScript 的兼容性相当好。例如,你可能会意外地创建全局变量而没有声明它们。严格模式可以防止这种情况发生,并确保你的代码是有意为之的。
在学习如何使用它之前,让我们先探索一下如何让你的脚本在严格模式下工作。
如何启用严格模式
您可以通过两种方式启用严格模式:
对于整个脚本,添加'use strict';JavaScript 文件的最顶部部分。
'use strict'; let name = "Wisdom";
对于特定功能,'use strict';在功能内部添加即可仅在那里应用它。
function test() {
'use strict';
let age = 30;
}一旦启用,里面的代码就会遵循严格的规则。现在,我们来看看严格模式带来了哪些变化。
严格模式的主要特性
严格模式通过多种方式改变 JavaScript 的行为。以下是其中最重要的一些:
防止未声明的变量
在正常模式下,您可以分配一个值而无需声明变量:
x = 20; // Creates a global variable automatically
在严格模式下,这会引发错误:
'use strict';x = 20; // Error: x is not defined
消除静默错误
JavaScript 中的某些操作会静默失败。严格模式会抛出错误,帮助您快速发现问题。
this函数中的 限制
在普通模式下,this简单函数内部引用的是全局对象。在严格模式下,它变成了undefined,从而防止意外的全局访问。
保留关键字保护
严格模式保留某些关键字(例如implements、interface、package)以备将来使用。将它们用作变量名将引发错误。
现在您已经了解了规则,让我们将严格模式放入实际的例子中。
严格模式示例
示例 1:捕获未声明的变量
'use strict'; myVar = 7; // Error: myVar is not defined
示例 2:防止重复参数
'use strict';
function add(a, a) {
// Error: duplicate parameter name not allowedreturn a + a;
}示例 3:更安全的用法
'use strict';
function showThis() {
console.log(this); // undefined instead of global object
}
showThis();通过这些例子,我们可以清楚地看到严格模式让你的代码更加可预测和安全。
结论
JavaScript 的严格模式是一种有效的技术,可以鼓励良好的编码习惯并避免常见错误。通过强制执行更严格的规则,它可以帮助您及早发现错误,编写更简洁的代码,并避免难以追踪的错误。
对于初学者来说,学习严格模式至关重要,因为它为编写专业级 JavaScript 奠定了基础。随着你不断学习代码,将'use strict'严格模式融入到你的脚本中,将有助于你成为一名更优秀、更可靠的开发者。