今天在学习廖雪峰老师官方网站里的教程,以下是对一些基础知识的简单总结,方便自己日后回来复习。
基本语法
1. 分号结尾,一个分号是一条语句
2. 语句块用{}
3. 注释用// /* */
4. JavaScript严格区分大小写
数据类型
1. Number
不区分整数和浮点数
(1,0.1,-99,infinite,NaN)
0x前缀表示十六进制数
可以做四则运算
2. String
字符串 单引号或者双引号
3. Boolean
true和false两种值
NaN与所有值做===比较都为false 包括它自己,唯一能判断NaN的方法是通过isNaN(NaN)
关于浮点数的比较
1/3 === (1-2/3) 这个比较的结果为false
这个不是JavaScript的设计缺陷,浮点数在运算过程中产生误差,因为计算机无法精
确表示无限循环小数。
要比较两个浮点数是否相等,只能计算他们之差的绝对值,看是否小于某个阈值。
Math.abs(1/3 - (1-2/3)) < 0.00000001; //true
4. null和undefined
null表示一个空值 typeof测试null会返回Object
undefined表示未定义的值 typeof测试undefined会返回undefined
5. 数组
JavaScript数组可以包含任意数据类型
出于简洁、可读性和执行速度的考虑,尽量不要new Array()
6. 对象
键值对无需组合 {}包裹
键都是字符串类型,值可以是任意类型
键又称为对象的属性
对象变量.属性名 获取对象属性
变量
变量
1. 变量名规则 懒得说,没记过
2. 变量可以是任意数据类型
3. =赋值
4. 可以反复赋值,不能重复声明
5. 先使用后声明赋值会报undefined,
6. 未声明直接赋值会提升为全局变量