3.9变量声明

在javascirpt程序中,使用一个变量之前应先声明。声明变量用var关键词
如下所示

var i;
var sum;

也可以通过一个var关键词声明多个变量

var i, sum;

而且还可以将变量的初始赋值和变量声明合在一起

var message = "hello";
var i = 0, j = 0, k = 0;

如果未在var声明语句中给变量指定的初始值,那么虽然声明了这个变量,但在给它存入一个值之前,他的初始值就是ubdefined

我们注意到在循环语句for / in中同样可以使用var语句,这样可以跟简洁的声明在循环语句中的循环变量。例如:

for(var i = 1; i < 10; i++) console.log(i);
for(var i = 0, j = 10; i < 10; i++,j--) console.log(i*j);
for(var p in o)console.log(p);

如果之前学过C或者Java的静态语言,你可能会注意到javascirpt的变量声明中没有指定的数据类型。javascirpt的变量可以是任意数据类型。先将数字赋值给一个变量吗,然后在将字符串赋值贵变量,这是完全合理的。

var i = 10;
i = "ten"

重复的声明和遗漏的声明
使用var语句重复声明变量是合法且无害的。如果重复声明待遇优初始化器,那么这就和一条简单的赋值语句没什么两样。

如果过你试图读取一个没有声明的变量的值,javascirpt会报错。在ECMAScript 5严格模式中,给一个没有什么的变量赋值也会报错。然从在历史上讲,在严格模式下,如果给一个未声明的变量赋值,javascirpt实际上会给全局对象创建一个同名属性。它工作起来像声明一个全局变量。这意味着您可以侥幸的不声明全局变量。但在这是一个不好的习惯并会造成很多bug,因此,你应当始终使用var来声明变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值