布尔类型
布尔值只有两个true和false;布尔类型的值通常是逻辑运算的结果,或者用于表示对象的某种状态
undefined和null
undefined类型只有一个值,就是undefined,该值用于表示某个变量不存在,或者没有为其分配值,也用于表示对象的属性不存在。
null用于表示变量的值为空。
undefined表示没有为变量设置值或属性不存在,而null表示变量是有值的,值为null。
复合类型
- Object:对象
- Array:数组
- Function:函数
对象
对象是一系列命名变量、函数的集合。其中命名变量类型可以是基本数据类型,也可以是复合类型。
JavaScript是基于对象的脚本语言,它提供了大量的内置对象供用户使用。除Object外,JavaScript还提供了如下常用的内置类
- Array:数组类
- Date:日期类
- Error:错误类
- Function:函数类
- Math:数学类,该对象包含相当多的执行数学运算的方法
- Number:数值类
- Object:对象类
- String:字符串类
数组
数组是一系列的变量,与其他强类型语言不同的是,JavaScript中的数组元素的类型可以不相同,定义一个数组有如下3种语法:
var a = [1 , 2 , 3];
var b = [];
var c = new Array();
第一种方法定义数组时完成初始化,第二种和第三种只是创建了一个空数组
JavaScript为数组提供了一个length属性,返回数组的长度。
JavaScript的数组索引时从0开始的
数组特征:
- JavaScript的数组长度可变。数组长度总等于所有元素索引最大值+1;
- 同一个数组中的元素类型可以互不相同;
- 访问数组元素时不会产生数组越界,访问并未赋值的数组元素时,该元素的值为undefined。
函数
- JavaScript函数无需声明返回值类型
- JavaScript函数无需声明形参类型
- JavaScript函数可以独立存在,无须属于任何类
- JavaScript函数必须使用function关键字定义
运算符
赋值运算符:=
算术运算符:+、-、、/、%、++、--
位运算符:&、|、~、^、<<、>>、>>>
加强的赋值运算符:+=、-=、=、/=、%=、&=、|=、~=、^=、<<=、>>=、>>>=
比较运算符:>、>=、<、<=、!=、==、!==、===
逻辑运算符:&&、||、!
三目运算符:?:
<script type="text/javascript>
5 > 3 ? alert("5大于3") : alert("5小于3");//5大于3
</script>
逗号运算符:允许将多个表达式排在一起,整个表达式返回最右边表达式的值
void运算符:强行指定表达式不会返回值
typeof与instanceof运算符
不同类型参数使用typeof运算符的返回值类型如下:
- undefined值:undefined
- 布尔型值:boolean
- 数字型值:number
- 字符串型值:string
- 对象:object
- 函数:function
instanceof运算符用于判断某个变量是否为指定类的实例,如果是,返回true,否则返回false
语句
语句是JavaScript的基本执行单位。JavaScript要求所有的语句都以分号结束
语句块
用花括号包含的多个语句,语句块是一个整体的执行体
虽然JavaScript支持使用语句块,但JavaScript的语句块不能作为变量的作用域