JavaScript 变量与数据类型

一、JavaScript 变量

变量是存储信息的容器。
与代数一样,JavaScript 变量可用于存放值(比如 x=2)和表达式(比如 z=x+y)。
变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume)。
变量必须以字母开头
变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
变量名称对大小写敏感(y 和 Y 是不同的变量)
提示:JavaScript 语句和 JavaScript 变量都对大小写敏感。

1.1 声明(创建)JavaScript 变量

在 JavaScript 中创建变量通常称为“声明”变量。
我们使用 var 关键词来声明变量:
var carname;
变量声明之后,该变量是空的(它没有值)。
如需向变量赋值,请使用等号:

不过,您也可以在声明变量时对其赋值:

例子
在下面的例子中,我们创建了名为 carname 的变量,并向其赋值 “Volvo”,然后把它放入 id=”demo” 的 HTML 段落中:

1.2 一条语句,多个变量

您可以在一条语句中声明很多变量。该语句以 var 开头,并使用逗号分隔变量即可:

声明也可横跨多行:

在计算机程序中,经常会声明无值的变量。未使用值来声明的变量,其值实际上是 undefined。
在执行过以下语句后,变量 carname 的值将是 undefined:

1.3重新声明 JavaScript 变量

如果重新声明 JavaScript 变量,该变量的值不会丢失:
在以下两条语句执行后,变量 carname 的值依然是 “Volvo”:

您可以通过 JavaScript 变量来做算数,使用的是 = 和 + 这类运算符:
例子

二、JavaScript数据类型

字符串、数字、布尔、数组、对象、Null、Undefined

JavaScript 变量还能保存其他数据类型,比如文本值 (name=”Bill Gates”)。
在 JavaScript 中,类似 “Bill Gates” 这样一条文本被称为字符串。
JavaScript 变量有很多种类型,但是现在,我们只关注数字和字符串。
当您向变量分配文本值时,应该用双引号或单引号包围这个值。
当您向变量赋的值是数值时,不要使用引号。如果您用引号包围数值,该值会被作为文本来处理。
例子

JavaScript 拥有动态类型
JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:
实例

2.1 JavaScript 字符串

字符串是存储字符(比如 “Bill Gates”)的变量。
字符串可以是引号中的任意文本。您可以使用单引号或双引号:
实例

您可以在字符串中使用引号,只要不匹配包围字符串的引号即可:
实例

切分字符串split

判断包含字符串

2.2 JavaScript 数字

JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:
实例

极大或极小的数字可以通过科学(指数)计数法来书写:
实例

2.3 JavaScript 数组
下面的代码创建名为 cars 的数组:

或者 (condensed array):

或者 (literal array):
实例

数组下标是基于零的,所以第一个项目是 [0],第二个是 [1],以此类推。

2.4 JavaScript 对象

JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。
在 JavaScript 中,对象是拥有属性和方法的数据。

对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:
var person={firstname:”Bill”, lastname:”Gates”, id:5566};
上面例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。
空格和折行无关紧要。声明可横跨多行:

对象属性有两种寻址方式:
实例

2.4.1 属性和方法

属性是与对象相关的值。
方法是能够在对象上执行的动作。
举例:汽车就是现实生活中的对象。
汽车的属性:

汽车的方法:

汽车的属性包括名称、型号、重量、颜色等。
所有汽车都有这些属性,但是每款车的属性都不尽相同。
汽车的方法可以是启动、驾驶、刹车等。
所有汽车都拥有这些方法,但是它们被执行的时间都不尽相同。

2.4.2 JavaScript 中的对象

在 JavaScript 中,对象是数据(变量),拥有属性和方法。
当您像这样声明一个 JavaScript 变量时:
var txt = “Hello”;
您实际上已经创建了一个 JavaScript 字符串对象。字符串对象拥有内建的属性 length。对于上面的字符串来说,length 的值是 5。字符串对象同时拥有若干个内建的方法。
属性:

方法:

提示:在面向对象的语言中,属性和方法常被称为对象的成员。

2.4.3 创建 JavaScript 对象

JavaScript 中的几乎所有事务都是对象:字符串、数字、数组、日期、函数,等等。
你也可以创建自己的对象。
本例创建名为 “person” 的对象,并为其添加了四个属性:
实例

创建新 JavaScript 对象有很多不同的方法,并且您还可以向已存在的对象添加属性和方法。
您将在本教程稍后的章节学到更多相关的内容。

2.4.4 访问对象的属性

访问对象属性的语法是:
objectName.propertyName
本例使用 String 对象的 length 属性来查找字符串的长度:

在以上代码执行后,x 的值是:

您可以通过下面的语法调用方法:

这个例子使用 String 对象的 toUpperCase() 方法来把文本转换为大写:

在以上代码执行后,x 的值是:

2.5 Undefined 和 Null

Undefined 这个值表示变量不含有值。
可以通过将变量的值设置为 null 来清空变量。
实例

2.6 声明变量类型

当您声明新变量时,可以使用关键词 “new” 来声明其类型:

JavaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象。

参考资料:
W3School

发表评论

电子邮件地址不会被公开。 必填项已用*标注