JavaScript 变量


一、JavaScript 中的变量

不同于 C 或 Java,JavaScript 是一种动态类型的语言,即申明的时候不指定变量的数据类型,而在运行的时候根据变量的具体值动态的判断变量的数据类型。
JavaScript 的变量名以字母或者$或者_开头;变量名只能含有字母、数字、下划线和美元符号;大小写敏感;不能使用保留的关键字,如 html、var、function 等,这一条一定要记住,使用关键字造成的错误往往很难排除。

二、JavaScript 中的变量的申明、初始化和赋值

1.变量申明

变量的申明 在 JavaScript 中,申明变量以关键字 var 开头,空一格后再接变量的名字;当然,可以一次申明多个变量,这时 var 只需要出现一次,多个变量名之间用英文的逗号隔开即可。如:

var myvar1;     //申明变量"myvar1"
var myvar2,myvar3,myvar4;     //一次申明三个变量

2.变量的初始化和赋值

既然变量是用来记录数据的,如何给变量赋值呢?简单来说,和数学中一样,用一个等号连接变量名和变量的值即可,对于数字的赋值,直接用等号连接数字和变量,对于字符串的赋值,需要将字符串包含在英文双引号之中。 变量的第一次赋值称之为初始化。 你可能已经想到了,申明和初始化能一起进行吗?答案是肯定的,下面我们给出具体的例子:

var numberVar;     //申明
numberVar = 1;     //赋值为数字
var stringVar;     //申明
stringVar = "I am a String";     //赋值为字符串
var myNumber = 2;     //申明的同时赋值为数字
var myString = "我是字符串";     //申明的同时赋值
var number1 = 1,number2 = 2;     //一次申明、赋值多个变量

注意:一个变量经过多次赋值,它的值为最后一次赋值的值。

3.JavaScript 中的变量的作用域

变量的作用范围,或者说作用域,是指变量保持有效的范围,JavaScript 中的变量广义上来说分为局部变量和全局变量。

全局变量 在函数外部申明的变量称为全局变量,全局变量的作用自申明的地方起,到整个 JavaScript 文件的末尾(包括这其中的所有函数的内部)。下面是一个例子:

var wholeVar = 12;     //申明并初始化一个全局变量
function() {
    var localVar = 1;     //局部变量
    console.log(wholeVar+localVar); //输出13
}
console.log(wholeVar);     //输出12

局部变量 局部变量是指申明在函数内部的变量,其作用域仅是本函数内部,在函数外不可用。 如果局部变量和全局变量的名字相同,那么在函数内部全局变量会被局部变量覆盖。

var myVar = 1;     //全局变量
function scope() {
    var myVar = 2;     //局部变量,覆盖了上面的值
    console.log(myVar);     //输出2
}

申明提前 JavaScript 局部变量有一个很重要的概念,叫申明提前,我们先来看一个例子。

var wholeVar = 1;     //全局变量
function myTest() {
    console.log(wholeVar);
    var wholeVar = 2;
    console.log(wholeVar);
}

关于第三行的输出,你的第一反应一定是1吧,正确答案是 undefined。这是因为在函数内部,变量不论在何处申明,都应该看成是在最开始申明(赋值不会看成是在最开始赋值,这就是不输出2的原因),这就是“申明提前”,所以,以上代码等价于:

var wholeVar = 1;
function myTest() {
    var wholeVar;     //申明提前了,覆盖了全局变量
    console.log(wholeVar);     //上面只申明,没赋值
    wholeVar = 2;
    console.log(wholeVar);
}

注意:这个地方不太好理解,所以我们在编程的时候局部变量的名字最好不要和全局变量冲突。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长街395

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值