编程语言最基本的特性就是能够支持多种数据类型
1、值value:就是计算机运行时操作的一些数据对象
2、数据类型type:就是计算机表示并能操作的值的类型
3、变量variable:一个值的符号名称,当程序需要将值保存 起来备用时,就将值赋给一个变量
4、数据类型分类:原始类型和对象类型
原始类型:数字、字符串、布尔值
特殊的原始值:null、undefined,他们不是字符串,数值,布尔值,他们代表各自特殊类型的唯一成员
对象类型: 特殊对象:(1)全局对象、(2)数组:带编号的值的有序集合;(3)函数:是具有与它相关联的可执行代码的对象
普通对象:命名值的无序集合
5、类——可以看做是对象类型的子类型
JavaScript的三种类: (1)日期Date——代表日期的对象;
(2)正则RegExp——表示正则表达式(是一种强大模式匹配工具)的对象
(3)错误Error——定义了JavaScript运行时错误和语法错误的对象
6、JavaScript是一种面型对象的语言
7、JavaScript中的数字类型:整形直接量、浮点型直接量
8、JavaScript中所有的数字均由浮点数值表示,在标准中不允许使用八进制直接量
9、这些数值类型的算术运算:(1)基本的算术运算:+、-、*、/、%
(2)复杂的算术运算:通过Math对象来进行解决(常见的math数学函数)
10、在进行运算时出现的情况:在溢出、下溢或被0整除的时候不会报错
下溢的时候:当运算结果无限接近于0的时候然后还超出了js能表示的最小值的时候,这个时候会返回0,-0
被0整除的时候不报错:只能返回无穷大和负无穷大 Infinity或- Infinity(是一种全局变量)
0除以0是没意义的:运算结果是一个非数字NaN(是一种全局变量)
无穷大除以无穷大……:运算结果都会返回NaN
11、NaN和任何值都不等,包括他自己,不能通过x==NaN来判断这个值是否为为非数值类型数据;应该使用x!=x来判断;
也可以通过函数isNaN()来判断;原理都是一样的。
12、二进制采用的是IEEE-754浮点数表示法(几乎所有的现代编程语言都采纳这种浮点数表示法)
IEEE-754浮点数表示法是一种二进制表示法,可以精确地表示分数,
但是二进制浮点数表示法并不能精确表示类似0.1这样简单的数字。
这样就会造成0.3-0.2不等于0.2-0.1(因为前者答案为0.09999999999998,后者答案是0.1)——四舍五入错误
13、JavaScript的文本类型:字符串直接量
(1)既可以用 ‘’ ,又可以用 “” 。
(2)es3不可以换行,es5可以换行,但要以 反斜杠结尾
14、转义字符的应用:反斜线 的作用,反斜线后面加一个字符就不是他自己本来的意思了
JavaScript转义字符
15、字符串可以当做是一个只读数组
16、JavaScript对应的字符串的函数,字符串对应的方法
17、JavaScript布尔类型:TRUE,和FALSE
布尔值包含toString()方法
18、null和undefined