肉渣教程

JS 变量

上一节 下一节

JavaScript变量

用一个形象的比喻吧,JavaScript变量就是用来存储数据的盒子。这是一个大小可变的盒子,一个盒子可以存储一个数字,也可以存储很长很长的字符串。盒子也可以被清空,重新装新类型的数据。

举一个例子,定义如下x、y、z三个变量:

var x = 7;
var y = 8;
var z = x + y;


上述案例中:

  • 变量x存储了整数值7
  • 变量y存储了整数值8
  • 变量z存储的值为整数值15

确实是跟中小学时期学代数有点像,尤记当年,设x等于7,设y等于8,设z,z等于x加上y,因此z的值为15。确实如此,跟代数是有点像的。


JavaScript变量的命名规则

所有JavaScript变量在使用前都必须被声明,且每个变量必须具有一个独一无二的名字,同名的变量则会后者覆盖前者,若不是特意覆盖,请声明一个之前没用过的变量名。

具体变量命名的规则和建议如下:

  • 变量名可以包含字母、数字、下划线以及美元符号
  • 变量名必须用字母开头
  • 变量名也可以用美元符号和下划线开头(但是一般不用,因为很多第三方JS库会用)
  • 变量名对字母的大小写是敏感的(比如x和X是两个不同的变量)
  • 禁止使用JavaScript的保留词做变量

赋值运算符

在很多程序中,包括JavaScript程序,等号(=)并不是叫等号,因为等号的意思代表的是左右相等;在程序中等号叫“赋值符号”,赋值符号的内涵是把符号右侧的值(Value)赋值给符号左侧的变量(Variables)

x = x + 1;

如上所示,x=x+5,则x变量新的值等于x变量之前的值加上1。


而所谓的等于,更类似符号==是用来判断左右两侧是否相等。后面会进一步深入介绍。


JavaScript数据类型

JavaScript有很多种数据类型,先介绍几种,之后回更详细地介绍,直接看例子吧:

var a = 1.3; // 数字类型(Number) 小数
var b = 14; // 数字类型(Number) 整数
var c = "zhuanfou.com"; // 字符串类型(String)
var d = 'zhuanfou.com'; // 字符串类型(String)

运行一下

JavaScript声明变量

通过var关键词来声明一个新的变量:

var slogan;

对刚才声明的变量slogan进行赋值

slogan = "反清复明";

如果想把上面的声明和赋值连成一句,也可以,如下:

var slogan = "反清复明";

最佳实践技巧:在程序的开头,把所有的变量都一次性声明掉,一了百了,杀它个干干净净!


一个语句,同时声明多个变量

一夫多妻,JavaScript是可以做到的,如下所示,1个语句中1个var关键词后面直接同时声明3个变量。

var slogan1 = "反清复明", slogan2 = "脚踏实地", slogan3 = "仰望星空";

运行一下


如果感觉一行太长,可以如下断行,等效哒:

var slogan1 = "反清复明", 
slogan2 = "脚踏实地", 
slogan3 = "仰望星空";

运行一下

Value = undefined

对于声明而没有赋具体值的变量;对于这类没有具体值的变量,JavaScript中有一个保留词来描述这种不存在具体值的变量值,即undefined。

var slogan; // 此时slogan变量的值就是undefined

运行一下

通过var可以重新声明变量(过时了)

如下所示,对于已经声明的变量,可通过var再次声明,重新声明后,原变量则被覆盖。

请格外注意,上面的已经不成立了:上面的这种说法已经不成立了;从语言学的角度,上面的说法是对的,也是被推荐的,逻辑性会更加清楚。但是只要去试试,就会发现上述所说的,和事实不符合。在JavaScript中,其实并不需要重新声明变量,JavaScript的变量不需要和变量绝对绑定,有些语言中,比如Pascal中声明变量时就要限定变量的数据类型。所以,对于JavaScript来说,不需要重新声明变量。

var slogan = "反清复明";
var slogan;

运行一下

JavaScript算术方式

后面会慢慢说更多的,下面就深入说说JavaScript中的加法:


普通的数字加法:

var x = 1 + 2 + 6;

运行一下


普通的字符串相加(等于字符串连接):

var x = "12" + "6";

运行一下


字符串 + 数字 + 数字:

var x = "1" + 2 + 6;

运行一下


数字 + 数字 + 字符串:

var x = 1 + 2 + "6";

运行一下


上述“数字 + 数字 + 字符串”的例子中,数字会和数字先进行数学层面上的相加,得到的和为3,然后数字3和字符串"6"相加,则是变成字符串连接。因此最终得到字符串"36"


JS 变量

上一节 下一节