上篇博文写到JavaScript的数据类型。JavaScript包括了字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(Undefined)。
一、Javascript 数组
数组可以用一个变量名存储所有的值,并且可以用变量名访问任何一个值。
数组中的每个元素都有自己的的ID,以便它可以很容易地被访问到。
创建数组的三种方法:
(1)、常规方法
var myCars=new Array();
myCars[0]="A";
myCars[1]="B";
myCars[2]="C";
(2)、简洁方法
var myCars=new Array("A","B","C");
(3)、字面
var myCars=["A","B","C"];
访问数组
通过指定数组名以及索引号码,你可以访问某个特定的元素。
以下实例可以访问myCars数组的第一个值:
var name=myCars[0];
以下实例修改了数组 myCars 的第一个元素:
myCars[0]="AAA";
注:数组下标从0开始。
二、JavaScript - null, undefined
在 JavaScript 中 null 表示 "什么都没有"。 null是一个只有一个值的特殊类型。表示一个空对象引用。
var person = null; 你可以设置为 null 来清空对象。
Undefined 在 JavaScript 中, undefined 是一个没有设置值的变量。
三、数据类型的查看和转换
a.查看数据类型 typeof。使用 typeof 操作符来查看 JavaScript 变量的数据类型。
var mood = "happy";
alert(typeof mood);
请注意:
- NaN 的数据类型是 number
- 数组(Array)的数据类型是 object
- 日期(Date)的数据类型为 object
- null 的数据类型是 object
- 未定义变量的数据类型为 undefined
如果对象是 JavaScript Array 或 JavaScript Date ,我们就无法通过 typeof 来判断他们的类型,因为都是 返回 Object。
b.转换成字符串。
全局方法 String() 可以将数字转换为字符串。
该方法可用于任何类型的数字,字母,变量,表达式:
var married = false;
alert(married.toString()); // outputs “false” var age = 25;
alert(age.toString()); //outputs “25”
c.转换成数字
parseInt() 转换成整数
parseFloat() 转换成浮点数
例: var test = parseInt(“blue”); //returns NaN
var test = parseInt(“1234blue”); //returns 1234
var test = parseInt(“22.5”); //returns 22
四、算术运算符
JavaScript 运算符主要包括:
(1)、算术运算符:
运算符 | 说明 | 例子 | 运算结果 |
---|---|---|---|
+ | 加 | y = 2+1 | y = 3 |
- | 减 | y = 2-1 | y = 1 |
* | 乘 | y = 2*3 | y = 6 |
/ | 除,返回结果为浮点类型 | y = 6/3 | y = 2 |
% | 求余,返回结果为浮点类型 要求两个操作数均为整数 |
y = 6%4 | y = 2 |
++ | 递加,分为前加和后加 对布尔值和 NULL 将无效 |
y = 2 ++y(前加) y++(后加) |
y = 3 |
-- | 递减,分为前递减和后递减 对布尔值和 NULL 将无效 |
y = 2 --y(前减) y--(后减) |
y = 1 |
对于前加和后加,执行后的结果都是变量加1,其区别在于执行时返回结果不一样,参考下面两个例子:
代码如下:
var x =
2;
alert(++x); //输出:3
alert(x); //输出:3
var y = 2;
alert(y++); //输出:2
alert(y); //输出:3
总结:前加的先执行后加1。后加的先加1后执行。递减同理。
(2)、赋值运算符
赋值运算符 = 用于赋值运算,赋值运算符的作用在于把右边的值赋值给左边变量。设定 y = 6,参见下表:
运算符 | 例子 | 等价于 | 运算结果 |
---|---|---|---|
= | y = 6 | ? | y = 6 |
+= | y += 1 | y = y+1 | y = 7 |
-= | y -= 1 | y = y-1 | y = 5 |
*= | y *= 2 | y = y*2 | y = 12 |
/= | y /= 2 | y = y/2 | y = 3 |
%= | y %= 4 | y = y%4 | y = 2 |
(3)、比较运算符
运算符 | 说明 | 例子 | 运算结果 |
---|---|---|---|
== | 等于 | 2 == 3 | FALSE |
=== | 恒等于(值和类型都要做比较) | 2 === 2 2 === "2" |
TRUE FALSE |
!= | 不等于,也可写作<> | 2 == 3 | TRUE |
> | 大于 | 2 > 3 | FALSE |
< | 小于 | 2 < 3 | TRUE |
>= | 大于等于 | 2 >= 3 | FALSE |
<= | 小于等于 | 2 <= 3 | TRUE |
比较运算符也可用于字符串比较。
(4)、三元运算符
三元可以视作是特殊的比较运算符:
代码如下:
(表达式1) ? (表达式2) : (表达式3)
语法解释:当表达式的值为true时,执行表达式2,否则执行表达式3。
代码如下:
x = 2;
y = (x == 2) ? x :
1;
alert(y); //输出:2
该例子判断 x 的值是否等于 2,如果 x 等于 2,那么 y 的值就等于 x(也就是等于2),反之 y 就等于 1。
提示
为了避免错误,将三元运算符各表达式用括号括起来是个不错的主意。
(5)、逻辑运算符
运算符 | 说明 | 例子 | 运算结果 |
---|---|---|---|
&& | 逻辑与(and) | x = 2; y = 6; x && y > 5 |
FALSE |
|| | 逻辑或(or) | x = 2; y = 6; x && y > 5 |
TRUE |
! | 逻辑非,取逻辑的反面 | x = 2; y = 6; !(x > y) |
TRUE |
(6)、字符串连接运算符
连接运算符 + 主要用于连接两个字符串或字符串变量。因此,在对字符串或字符串变量使用该运算符时,并不是对它们做加法计算。
代码如下:
x = "JS";
y = x + "你好!"; //结果:y =
"JS你好!"
// 要想在两个字符串之间增加空格,需要把空格插入一个字符串之中:
y = x + " 你好!"; //结果:y = "beijing
你好!"
当对字符串和数字做连接(加法)运算时,会将数字先转换成字符串再连接(相加):
代码如下:
x = 22;
y = "我今年" + x + "岁"; //结果:y =
"我今年22岁"
..........未完待续.........