一、use strict严格模式:高质量代码守卫
严格模式的作用域:当前作用域及其子作用域
严格模式使一切不规范的代码都会报错,使代码可用范围更广泛,举几个例子。
<body>
<script>
"use strict";
web = 22;
console.log(web);
</script>
</body>

例如变量未被定义,使用严格模式会提醒报错。
<body>
<script>
"use strict";
function show1() {
web = 'yooo';
}
function show2() {
site = 'alison';
}
show1();
</script>
</body>

严格模式还作用于当前作用域的子作用域。
<body>
<script>
function show1() {
"use strict";
web = 'yooo';
}
function show2() {
site = 'alison';
}
show2();
</script>
</body>
当作用域更改为show1()函数内后,show2()就不会被严格模式所约束,不会报错。
二、Object.freeze冻结变量
有时声明的变量会被误操作而改变,如下。
<body>
<script>
const HOST = {
url: "yooo.com",
port: 443
};
HOST.port = 80;
console.log(HOST);
</script>
</body>

这时可以使用变量冻结来阻止改变,使代码更健壮稳定。
<body>
<script>
const HOST = {
url: "yooo.com",
port: 443
};
Object.freeze(HOST);
HOST.port = 80;
console.log(HOST);
</script>
</body>

但无报错提示可能会让开发者不知道自己改变了被冻结的变量,因此使用严格模式。
<body>
<script>
"use strict";
const HOST = {
url: "yooo.com",
port: 443
};
Object.freeze(HOST);
HOST.port = 80;
console.log(HOST);
</script>
</body>

严格模式与变量冻结:提升代码健壮性的实践指南
本文探讨了JavaScript的严格模式如何提升代码质量,通过实例展示如何在作用域中应用严格模式,以及Object.freeze用于锁定变量防止意外修改。了解如何利用这些工具确保代码的稳定性和可维护性。
1727

被折叠的 条评论
为什么被折叠?



