语法基础
- 区分大小写
- 弱类型
- 注释和Java、C等相同,为 // 或 /* */
- 大括号表示代码块
- 变量可使用var定义,命名规则一般使用Camel或者匈牙利类型标记(类型前缀数组a、布尔型b、浮点型f、函数fn、整形i、对象o、正则表达式re、字符串s、变型(可以是任何类型)v),变量分为两种作用域全局和局部,全局变量是不使用var定义或者不在任何function块内定义的变量,局部变量是function块内的变量(没有代码块作用域的变量)
数据类型:
- undefined,原始类型,使用var定义的变量,在没有赋值操作之前就是undefined;或者读取一个不存在的对象属性也是undefined
- boolean,原始类型,表示真假,true | false
- number,数值类型,包含整数、小数、NaN(无法转换为数值的数值类型)、Infinity(正无穷大的数)、-Infinity(负无穷大的数)、任何和NaN的操作结果都是NaN、正无穷+负无穷=NaN
- string,原始类型,用单引号或双引号括起来的字符串
- null,原始类型
typeof运算符会返回undefined、boolean、number、string、object
- object,键(key)值(value)对形式的组织内容,key只能是字符串,值可以是任何类型
- function,函数,多个表达式的集合,可以通过调用来执行所有的表达式并返回结果
- array,有序的多个数据类型值
类型转换:
- 对象的toString方法
- 除了undefined和null类型,都可以调用toString转换为string类型(可以重写toString方法)
- parseInt,对象先转换为string然后转换为number
- parseFloat和parseInt一样,只不过将第一个. 符号认为是小数点,并且只认10进制
- Boolean方法,0、NaN、空字符串、undefined、null、false则返回false,否则返回true
- Number方法,和parseInt、parseFloat基本一样,区别为:null为0,只要有非数字字符就是NaN
- String方法,和toString的区别是在处理undefined和null时不会引发错误
引用类型: