如果尝试读一个未声明的变量的值,javascript会生成一个错误。
如果尝试给一个未用var声明的变量赋值,JavaScript会隐式声明该变量。
但是隐式声明的变量总是被创建为全局变量 ,即使该变量只在一个函数体内使用。
局部变量是只在一个函数中使用,要防止在创建局部变量时创建全局变量(或采用已有的全局变量),
就必须在函数体内部使用var语句。
无论是全局变量还是局部变量,最好都使用var语句创建。
function checkUsername(){
var username = $("input[name='username']").val();
if(username.length > 20 || username.length < 5){
var tip = "用户名长度5-20个字符之间";
// 如果 tip 不声明 则程序无法正常执行
sub = false;
} else
tip = "ok";
$("#usernameTip").html(tip);
}
http://erick-chen.javaeye.com/blog/221125
在js中变量声明的各式为:
var sum;
var i;
或
var sum, i;
而且还可以将变量声明与赋值放在一起;
var sum = 0; i = 0;
如果没有用var语句给一个变量赋值,他的初始值就是 undefined;
对于未声明和赋初值的变量, 如果直接使用,会报出一个系统级别的error,例外的是delete和typeof操作 对于delete来说,无论是否赋初值,都会返回true, typeof 任何一个未赋初值的标识符,不论是否已经被声明,都将返回一个undefined的结果
alert(typeof(a)); //undefined
alert(a); //error
if(typeof("System") == "undefined")
http://hi.baidu.com/php_zhao/blog/item/34caa401aafef4e608fa93fc.html