var 语句
声明变量。
var variable1 [ = value1 ] [, variable2 [ = value2], ...]
参数
variable, variable2
被声明的变量的名字。
value, value2
赋给变量的初始化值。
说明
使用 var 语句来声明变量。这些变量可以在声明时或声明后在脚本中被赋值
一个关于var变量的问题
一个朋友问了一个js问题, 一段看不出有任何问题的代码, 在ie下报错:”object doesn’t support this property or method”.
代码如下 | 复制代码 |
function foo(obj) { productTree = obj.toString(); document.getElementById('productTree').innerHTML = productTree; } |
开始, 还以为错误是指obj的toString方法, 绕了半天弯路, 无果..
后来,注意到变量名是productTree没有用var申明, 加上getElementById(‘productTree’)说明有个id为productTree的元素, 并且我们知道在IE下可以直接通过id获取DOM元素的引用, so~
所以啊, 局部变量一定要用var申明, 不仅仅是因为不用var会成全局变量, 更因为在IE下, 有可能会出现这种, 让人很莫名的错误….
var变量实例1
代码如下 | 复制代码 |
function test(){ var1 = 2; alert(var1); } test(); alert(var1); 这样可以显示为2 function test(){ var var1 = 2; alert(var1); } test(); alert(var1); |
则为变量未定义错误
实例2
我们还可以利用this来说明局部变量
this多用于函数内部,它永远指向调用他的那个对象,看看下面的例子就明白了
代码如下 | 复制代码 |
var test={ a:"test", msg:function(){ a="1234"; alert(this.a); var msg1= function(){ alert(this.a); } msg1(); } } test.msg(); 这样会分别显示 "test" ,"1234". |
注意:
正如代数一样,JavaScript 变量用于保存值或表达式。
可以给变量起一个简短名称,比如 x,或者更有描述性的名称,比如 length。
JavaScript 变量也可以保存文本值,比如 carname="Volvo"。
JavaScript 变量名称的规则:
变量对大小写敏感(y 和 Y 是两个不同的变量)
变量必须以字母或下划线开始
注释:由于 JavaScript 对大小写敏感,变量名也对大小写敏感