用一个形象的比喻吧,JavaScript变量就是用来存储数据的盒子。这是一个大小可变的盒子,一个盒子可以存储一个数字,也可以存储很长很长的字符串。盒子也可以被清空,重新装新类型的数据。
举一个例子,定义如下x、y、z三个变量:
var x = 7; var y = 8; var z = x + y;
上述案例中:
确实是跟中小学时期学代数有点像,尤记当年,设x等于7,设y等于8,设z,z等于x加上y,因此z的值为15。确实如此,跟代数是有点像的。
所有JavaScript变量在使用前都必须被声明,且每个变量必须具有一个独一无二的名字,同名的变量则会后者覆盖前者,若不是特意覆盖,请声明一个之前没用过的变量名。
具体变量命名的规则和建议如下:
在很多程序中,包括JavaScript程序,等号(=)并不是叫等号,因为等号的意思代表的是左右相等;在程序中等号叫“赋值符号”,赋值符号的内涵是把符号右侧的值(Value)赋值给符号左侧的变量(Variables)。
x = x + 1;
如上所示,x=x+5,则x变量新的值等于x变量之前的值加上1。
而所谓的等于,更类似符号
==
,是用来判断左右两侧是否相等。后面会进一步深入介绍。
JavaScript有很多种数据类型,先介绍几种,之后回更详细地介绍,直接看例子吧:
var a = 1.3; // 数字类型(Number) 小数 var b = 14; // 数字类型(Number) 整数 var c = "zhuanfou.com"; // 字符串类型(String) var d = 'zhuanfou.com'; // 字符串类型(String)
通过var
关键词来声明一个新的变量:
var slogan;
对刚才声明的变量slogan进行赋值:
slogan = "反清复明";
如果想把上面的声明和赋值连成一句,也可以,如下:
var slogan = "反清复明";
最佳实践技巧:在程序的开头,把所有的变量都一次性声明掉,一了百了,杀它个干干净净!
一夫多妻,JavaScript是可以做到的,如下所示,1个语句中1个var关键词后面直接同时声明3个变量。
var slogan1 = "反清复明", slogan2 = "脚踏实地", slogan3 = "仰望星空";
如果感觉一行太长,可以如下断行,等效哒:
var slogan1 = "反清复明", slogan2 = "脚踏实地", slogan3 = "仰望星空";
对于声明而没有赋具体值的变量;对于这类没有具体值的变量,JavaScript中有一个保留词来描述这种不存在具体值的变量值,即undefined。
var slogan; // 此时slogan变量的值就是undefined
如下所示,对于已经声明的变量,可通过var再次声明,重新声明后,原变量则被覆盖。
请格外注意,上面的已经不成立了:上面的这种说法已经不成立了;从语言学的角度,上面的说法是对的,也是被推荐的,逻辑性会更加清楚。但是只要去试试,就会发现上述所说的,和事实不符合。在JavaScript中,其实并不需要重新声明变量,JavaScript的变量不需要和变量绝对绑定,有些语言中,比如Pascal中声明变量时就要限定变量的数据类型。所以,对于JavaScript来说,不需要重新声明变量。
var slogan = "反清复明"; var slogan;
后面会慢慢说更多的,下面就深入说说JavaScript中的加法:
普通的数字加法:
var x = 1 + 2 + 6;
普通的字符串相加(等于字符串连接):
var x = "12" + "6";
字符串 + 数字 + 数字:
var x = "1" + 2 + 6;
数字 + 数字 + 字符串:
var x = 1 + 2 + "6";
上述“数字 + 数字 + 字符串”的例子中,数字会和数字先进行数学层面上的相加,得到的和为3,然后数字3和字符串"6"相加,则是变成字符串连接。因此最终得到字符串"36"。