2008年12月7日星期日

在js中声明变量时,什么时候需要var,什么时候不需要?

在js中声明变量时,什么时候需要var,什么时候不需要???

关键问题:
在function内部,用var是局部变量,不用var是全局变量。
这个问题不搞清楚,就不是风格的好坏了,可能会导致功能错误。
在function外,用不用都是全局变量。

理解“JS变量定义”的概念

首先,那种不用var就直接赋值的做法,javascript认为你第一次赋值的同时也就是做了定义。如果你是初学者,我建议不妨将这种做法看作一种不规范用法,你就当它根本不存在,问题就简单了。

var aString;
是纯粹的变量定义(但只能在函数内部用)

var aString = "100";
是变量定义,并同时赋值。在函数外部必须这么用,如果在函数内部,就等效于:
var aString;
aString = "100";

赋值可以无数次,定义只能一次!就好比一个人的性格可以不断改变,但出生只能有一次!

没有评论: