有过JavaScript基础的都知道,在js中声明一个变量可以用 var a = 10; 也可以使用 a = 10; 这两种声明方式,他们有什么区别呢
用如下的代码作为示例
function test(){
var a = 10;
b = 100;
}
test();
console.log(b); //100
console.log(a); //a is not defined
运行结果如下

原因在于,在函数中调用变量a时使用了var,即在test()中声明了局部变量,而声明b时只是赋值,b最终作为全局变量。
因此最后访问a时因在外部访问不到内部函数的局部变量而报错
本文探讨了JavaScript中使用var和不使用var声明变量的区别。通过示例代码解释了var关键字如何创建局部变量,而直接赋值则会导致全局变量的产生。在函数test()内部,使用var声明的变量a仅在该作用域内有效,而未声明的变量b成为全局变量,因此在函数外部可以访问到b但无法访问a。理解这一差异对于避免变量污染和调试至关重要。
321





