我们知道,js中数据类型包括五种基本数据类型和三种复合类型。 1.基本类型: 数值类型:包括整数和浮点数;布尔类型:只有true和false两个值;字符串类型:字符串变量必须用引号括起来,单引号和双引号都可以;undefined类型:专门用来确定一个已经创建但还没赋值的变量;null类型:用于表示某个变量的值为空。 数值类型,布尔类型和字符串类型跟其他语言基本是一样的, 除了数值类型在做算数运算的时候,允许除数为0(0/0得到NaN,正数/0得到Infinity,负数/0得到-infinity)。NaN(Not a Number)表示非数,NaN不会和任何数值变量相等,包括它自己,即NaN==NaN返回的是false。 在这里我就不做过多介绍了,我在这主要就详细讲讲undefined类型和null类型。 undefined类型:值只有一个,即undefined,该值用于表示某个变量不存在,或是没有为其分配值,也用于表示对象的属性不存在。undefined不是js的保留字,某些浏览器可能不支持undefined值,那么可以在js脚本的第一行加上:`var undefined;` null类型:null和undefined的区别在于null是有值的,只是值为null而已。但在进行不精确比较时可以看作是相等的,即(null==undefined)返回的是true,但(null===undefined)返回的是false. 2.复合类型: 对象Object:是一系列命名变量、函数的集合数组Array:是一系列的变量。需要注意的是:js中的数组元素类型可以不相同,而且数组的长度是可变的,访问时也不存在数组越界的问题,访问未赋值的元素的值为undefined。函数Function:js中的函数可以不声明返回值类型和形参类型,但必须使用关键字functio,另外js中的函数是独立存在的,无须属于任何类。