JavaScript允许使用3种基本数据类型 -- 数字、文本字符串和布尔值。此外,它还支持两种小数据类型NULL(空) 和 undefined(未定义)
除了这些基本的数据类型之外,JavaScript还支持复合数据类型 --- 对像(Object)。一个对象(是数据类型对象的成员之一) 表示的是值(既可以是基本值,如数字和字符串,也可以是复合值,如其他对象)的集合。
JavaScript中对象有两种,一种对象表示的是已命名的值的无序集合,另一种表示的是有编号的值的有序集合,后者被称为数组(array)
JavaScript还定义另一种特殊的对象 ---- 函数(function) 。函数是具有可执行代码的对象,可以通过调用函数执行某些操作。和数组一样,函数的行为与其它类型的对象不同,JavaScript为函数定义了专用的语法
一、数字
数字是最基本的数据类型。JavaScript和其他程序不同之处在于它不区别整数数值和浮点型数值。在JavaScript中,所有的数字都是由浮点型表示的。
JavaScript是使用语言自身提供的算术运算来进行数字运算的。这些运算包括加法运算符(+)、减法运算符(-)、乘法运算符(*)和除法运算符(/)
JavaScript可以把数字格式化为字符串或者把字符串解析为数值,JavaScript还使用了一些特殊的数值,当一个浮点数值大于所有表示的最大值时,其结果是一个特殊的无穷大值,JavaScript将它输出为 Infinity 。同样的,当一个负值比所能表示的最小的负值还小时,结果是负无穷大,输出为-Infinity
当一个算术运算产生了未定义的结果或错误时,就会返回另一个特殊的JavaScript数值,在这种情况下,结果是一个非数字的特殊值,输出为NaN。
特殊数值常量
Infinity 表示无穷大的特殊值
NaN 特殊的非数字值
Number.MAX_VALUE 可表示的最大数字
Number.MIN_VALUE 可表示的最小数字
Number.NaN 特殊的非数字值
Number.POSITIVE_INFINITY 表示正无穷大的特殊值
Number.NEGATIVE_INFINITY 表示负无穷大的特殊值
二、字符串
程序中的字符串直接量是包含在单引号或双引号中的。注意,在JavaScript和C以及C++、Java不同的是,它没有char这样的字符数据类型,要表示单个字符,必须使用长度为1的字符串
JavaScript中的转义序列
\0 NUL字符
\b 退格符
\t 水平制表符
\n 换行符
\v 垂直制表符
\f 换页符
\r 回车符
\" 双引号
\' 撇号或单引号
\\ 反斜线符
三、布尔值
布尔数据类型只有两个值,这两个合法的值分别由直接量true和false表示。
四、函数
函数(function) 是一个可执行的JavaScript代码段,由JavaScript程序定义或由JavaScript实现预订义。虽然函数只定义一次,但是JavaScript程序却可以多次执行或调用它。
JavaScript的函数可以带有实际参数或形式参数,用于指定这个函数执行计算要使用的一个或多个值,而且它还有返回一个值,以表示计算结果
JavaScript的一个重要特性是JavaScript代码可以对函数进行操作。JavaScript中的函数是真正的数值,这意味着函数可以被存储在变量、数组和对象中,而且函数还可以作为参数传递给其他函数
函数直接量是用关键字function后加可选的函数名、用括号括起来的参数列表和用花括号括起来的函数体定义的。
例:
function square(x) {return x*x}
还可以用函数直接量来定义它:
var square = function(x) {return x*x;}
五、对象
对象Object是已命名的数据的集合。这些已命名的数据通常被作为对象的属性来引用。要引用一个对象的属性,就必须引用这个对象。在其后加实心点和属性名。
六、数组
数组(Array)和对象一样的数值的集合,所不同的是,对象中的每个数值都有一个名字,而数组的每个数值有一个数字,称为下标
七、null
JavaScript的关键字null是一个特殊的值,它表示‘无值’。NULL常常被看作对象类型的一个特殊值。
八、undefined
在使用了一个并未声明的变量时,或者使用了已经声明但还没有被赋值的变量时,又或者使用了一个并不存在的对象属性时,返回的就是这个值。
九、Error 对象
当发生运行时错误时,JavaScript解释器会抛出某个类的对象。每个Error对象具有一个message属性,它存放的是JavaScript实现特定的错误消息。预定义的错误对象的类型有Error、EvalError、RangeError、
ReferenceError、SyntaxError、TypeError和URIError
十、 基本数据类型的包装对象
JavaScript不仅支持数字、字符串和布尔值这些数据类型,还支持Number、String 和Boolean 类。这些类是那些基本数据类型的包装。这些包装不仅具有基本类型一样的值,还定义了用来运算数据的属性和方 法