javascript中var声明变量用法介绍
在很多时候很多js程序员都可能不会用var来定义变量,但这样经常会出现一些致命的错误,下面我们来看实例。
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 对大小写敏感,变量名也对大小写敏感.