在 JavaScript 中,如果在函数内没有使用 varletconst 关键字声明变量,而直接对变量赋值,JavaScript 会将这个变量默认声明为全局变量。

例如:

function test() {
  b = 10; // 没有使用 var、let 或 const 声明变量 b
}

test();
console.log(b); // 输出:10

在上面的例子中,b 被赋值但没有使用 var 或其他声明关键字,因此它被视为全局变量。在函数内部对变量 b 的赋值会改变全局作用域中的 b 变量的值。

为了避免意外创建全局变量,建议始终使用 varletconst 来声明变量,特别是在函数内部。这样可以明确变量的作用域,避免意外修改全局作用域中的变量。

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.