在 JavaScript 中,如果在函数内没有使用 var
、let
或 const
关键字声明变量,而直接对变量赋值,JavaScript 会将这个变量默认声明为全局变量。
例如:
function test() {
b = 10; // 没有使用 var、let 或 const 声明变量 b
}
test();
console.log(b); // 输出:10
在上面的例子中,b
被赋值但没有使用 var
或其他声明关键字,因此它被视为全局变量。在函数内部对变量 b
的赋值会改变全局作用域中的 b
变量的值。
为了避免意外创建全局变量,建议始终使用 var
、let
或 const
来声明变量,特别是在函数内部。这样可以明确变量的作用域,避免意外修改全局作用域中的变量。
Was this helpful?
0 / 0