1. JavaScript中的变量
- 变量名以字母、&、 _开头;
- 变量名只能含有字母,数字,下划线和美元符号。
2. 变量的声明、初始化和赋值
~变量的申明
- 在JavaScript中,申明变量以var关键字,空一格再接变量的名字;
- 可以一次申明多个变量,var出现一次,多个变量名之间用英文逗号隔开。
var a;
var b1,b2,b3;
~变量的初始化和赋值
-对于数字的赋值,直接用等号链接数字和变量;
-对于字符串的赋值,需要将字符串包含在英文双引号中;
-变量的第一次赋值称之为初始化,申明和初始化可以一起进行;
-一个变量经过多次赋值,它的值为最后一次赋值的值。
var number1;//申明
number1=1;//赋值为数字1
var string1;
string1="i am a String";
var number2=2;//申明同时赋值为数字
var string2="我是字符串";//申明同时赋值
3.变量的作用域
-变量的作用域,是指变量保持有效的范围,JavaScript中的变量广义上来说分为局部变量和全局变量。
~全局变量
-在函数外部申明的变量称为全局变量,全局变量的作用自申明的地方起,到整个JavaScript文件的结尾。
var wholeNumber=12;
function(){
var localNmuber=1;
console.log(wholeNumber+localNumber);//在控制台输出13
}
console.log(wholeNumber);//在控制台输出12
~申明提前
-JavaScript局部变量有一个很重要的概念,叫申明提前。例如:
var wholeNumber=1;//全局变量
function myTest(){
console.log(wholeNumber);//输出unidefined
var wholeNumber=2;
console.log(wholeNumber);
}
-第三行不是1,而是unidefined.因为在函数内部,变量名在何处申明,都应该看成是最开始申明,这就是“申明提前”。赋值不会看成是最开始赋值,所以不是输出2. 以上代码等价于:
var wholeNumber=1;
function myTest(){
var wholeNumber;//申明提前,覆盖了全局变量
console.log(wholeNumber);//只被申明,没有赋值
wholeNumber=2;
console.log(wholeNumber);
}