2010-06-20 50 views
5

可能重复:
Difference between using var and not using var in JavaScript凡使用“变种”在JavaScript程序

你好,

我是一个自我了解到开发商往常一样,我写JavaScript的无var为变量,但有些javascripts使用var作为变量。

两者都适合我。我有点困惑。

是用var写脚本的一种标准形式,还是只用在类中?

+0

[使用var和不在JavaScript中使用var之间的差异]的可能重复(http://stackoverflow.com/questions/1470488/difference-between-using-var-and-not-using-var-in-javascript ),[Javascript:是使用'var'来声明变量可选?](http://stackoverflow.com/questions/2485423/javascript-is-using-var-to-declare-variables-optional),[JavaScript变量作用域问题:要var,或不要var](http://stackoverflow.com/questions/1956296/javascript-variable-scope-question-to-var-or-not-to-var),通过SO搜索找到' javascript var';) – 2010-06-20 13:55:12

+0

谢谢felix Kling!版主可以根据需要关闭此帖子! – 2010-06-20 13:59:36

回答

11

var将变量的作用域限定在它声明的函数中,如果你不使用var你创建一个全局变量。

全局变量往往会导致代码难以维护并且受到竞争条件的困扰。

总是使用var,除非你有一个非常好的理由不要。

+0

我不一定会说竞争条件是问题,因为Javascript(Web Workers放在一边)的执行是单线程的。国际海事组织,这个问题的一个更好的声明是命名空间污染和状态跺脚(意外覆盖你需要的数据)。 – 2010-06-20 16:51:34

1

如果你不使用var,那么这个变量将是全局的,并不局限于你所在的范围内(全局空间中的另一个变量有同名的问题,你只是覆盖它,可能无意)。

简版:总是使用var是安全的。