1、–
简单(基本、值)数据类型
•
Number
、
String
、
Boolean
•
Undefined(
变量声明,但未赋值
)
、
Null
–复杂(引用)数据类型(暂时了解)
•
Object
、
Array
、
Date
等
内置对象 例如Date,Array,Math。RegExp,error,
查看当前变量的数据类型 typeof name、typeof(name)
(1)Number类型
•
十进制
–
var
num
=
9;
–
进行算数计算时,八进制和十六进制表示的数值最终都将被转换成十进制数值。
•
十六进制
–
var
num
=
0xA
;
–
数字序列范围:
0~9
以及
A~F
•
八进制
–
var
num1
=
07;
//
对应十进制的
7
–
var
num2
=
019
–
;
//
对应十进制的
1
9
–
var
num3
=
08;
//
对应十进制的
8
–
数字序列范围:
0~7
–
如果字面值中的数值超出了范围,那么前导零将被忽略,后面的数值将被当作十进制数值解析
•
浮点数
–
var
n = 5e-324
;
•
浮点数值的最高精度是
17
位小数,但在进行算术计算时其精确度远远不如整数
–
var
result= 0.1 + 0.2
;
/
/
结果不是
0.3
,而是:
0.30000000000000004
–
console.log(0.07 * 100);
–
永远不要测试某个
特定的浮点数值
(
不要判断两个浮点数是否相等
)
数字范围
•
由于内存
的限制,
ECMAScript
并不能保存世界上所有的数值
•
最小值
:
Number.MIN_VALUE
,这个值为:
5e-324
•
最大值
:
Number.MAX_VALUE
,这个值为:
1.7976931348623157e+308
•
无穷
大:
Infinity
•
无穷
小:
-Infinity
数值检测
•
NaN
非数值(
Not aNumber
)
–
console.log
(“
abc
”/
18)
;
//
结果是
NaN
–
NaN
与任何值都不相等,包括
NaN
本身
•
isNaN
() :
任何不能被转换为数值的值都会导致这个函数返回
true
–
isNaN
(
NaN
)
;/
/true
–
isNaN
(“blue”)
;
//true
–
isNaN
(123)
;
//false
(2)String类型
•
字符串字面量
–
var
name = "
zhangsan
";
//"
zhangsan
"
字面量
•
字符串要用引号引起,单引号和双引号的作用是等效的
–
例如:
•
var
name
=
"
zhangsan
";
•
var
name
=
'
zhangsan
';
•
var
name
=
'
zhangsan
";
//
错误,单引号和双引号要成对出现
•
字符串是由一个一个字符组成的,获取一个字符串中字符的个数可以使用
length
–
例如:
var
name="
zs
";
alert(
name.length
);//2
转义符
•
要想打印
"
或者
'
怎么办?
–
var
str
=
"hello
\"
itcast
\"";
/
/
打印输出
hello
"
itcast
"
•
转义符
字符串的不可变
•
ECMAScript
中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。
•
要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量
–
例如:
•
varstr = "123";
str = str + "abc";
字符串拼接
•
如果有两个字符串变量
a,b
,如何把这两个变量的值连接起来?
–
例如:
•
var
a
=
"hello";
•
var
b
=
"
itcast
";
•
var
c
=
a
+
b;
-思考:
•
var
a
=
“100";
•
var
b
=
1
00;
•
var
c
=
a
-
b;
//
结果是什么?
(3)Boolean类型
•
Boolean
类型有两个字面量:
true
和
false
,并且区分大小写!
•
虽然
Boolean
类型的字面值只有两个,但
ECMAScript
中所有类型的值都有与这两个
Boolean
值等价的值
•
例如:
var result = Boolean("a");
console.log(result); //结果是true
var result = Boolean(100);
console.log(result); //结果是true
转换成Boolean类型
•
任何类型可以转换成
Boolean
类型,一般使用在流程控制语句后面
–
例如:
varmessage="hello";
if(message){ alert(message+"world") };
(4)Undefined类型
•
Undefined
这是一种比较特殊的类型,表示变量未赋值
,
这种类型只有一种值就是
undefined
–
例如:
var message;
console.log(message); //结果是undefined
•
undefined
是
Undefined
类型的字面量。
–
例如:
var message = undefined;
console.log(message);
•
typeof
message;
获取到的是
"undefined"
2、数值字面量
•
字面量
–
固定的值,让你从“字面上”理解其含义
。
•
数值字面量
var
age
=
18;
/
/
数值字面量,
18
为字面值