日期:2014-05-16  浏览次数:20316 次

{{JS}}未定义的变量和未赋值的变量的区别

{{JS}}未定义的变量和未赋值的变量的区别


第一种未定义的变量是指从未被声明过,尝试读这种未经声明的变量会引起运行时错误;未被声明的变量就是未定义的,因为这样的变量根本不存在.
第二种未定义的变量是指已经被声明过了的但永远都不会被赋值的变量.如果要读这样的变量,将会得到默认值"undefined",也可以称之为"未赋值的变量",以示区分.

以下代码能很好地体现真正的未定义的变量和只是未赋值的变量之间的区别.

alert(u); // 报运行时错误
u =3;

alert(u); // "undefined"
var u = 3;