《JavaScript高级程序设计》第三版学习笔记
数据类型
ECMAScript中有五种基本数据类型:
Undefined、Null、Number、String、Boolean
一种引用数据类型:
Object
java中基本数据类型:四类八种,即整型(byte,short,int,long),浮点型(float,double),字符型(char),布尔型(true,false)。
引用数据类型:字符串,数组,对象
下面详细说一下JS的五种基本数据类型,相比java而言用法要复杂些
1、Undefined类型
Undefined类型只有一个值,即Undefined.在使用var声明变量但没有初始化时这个变量的值时就是Undefined。
var message;
alert(message);//弹出“Undefined"
alert(age);
此时按下F12会发现控制台报错
但是,对未初始化的变量和对未声明的变量执行typeof操作时,返回值均为undefined
var message;
alert(typeof message);//弹出“Undefined"
alert(typeof age);//弹出“Undefined"
2.Null类型
null值表示一个空对象指针,使用typeof操作符检测null值会返回“object”
var car = null
alert(typeof car);//"object"
在写代码时如果我们要声明一个变量用来保存对象,最好先把这个变量赋值为null,这样可以清晰地表明这个变量是用来存放对象的。
注意:
alert(undefined == null) //返回值为true
这是由“==”(相等操作符)决定的,这个操作符在比较之前会对数据类型进行转换(后面会写到)。
3.Boolean类型
只有true和false两种字面量,true不一定等于1,false不一定等于0
alert(true == 1); //返回值为true,这是因为“==”操作符在比较之前会将true转换为1,false转换为0,“===”则返回false
4.Number类型
既可以用来表示整数也可以用来表示浮点数,也可以用来表示十进制、八进制或十六进制。八进制的第一位必须是0,然后是八进制数字序列(0-7),如果超出了这个范围,前导的0会被忽略,当做十进制进行处理;
var test1 = 80;
var test2 = 021;
var test3 = 079;
document.write(test1); //80
document.write(test2);//17
document.write(test3);//79
Number类型及String类型和Object类型涉及的内容很多,明天再详细写