JavaScript之 数据类型 与 变量
1.原始数据类型
1数值型 :
JavaScript中的数值包含整数和浮点数,所有数值都以双精度浮点型来表示。
双精度浮点数可以表示-2的53次方到2的53次方的整数,也可以表示为正负1.7976的10的308次方的最大值和正负2.2250乘以10的-308次方的浮点数
十进制数 12 、1.2、-23、.222e33、-1.3e3、3.E-2、12e+20
十六进制 0x0 0XABCDEF 0x1a2b3c4d
八进制数 00 0123 0241234
****2特殊值
Infinity无穷大:当一个数值或数值表达式的值超出了可表示的最大值的范围,将被赋值为Infinity。可以有无穷大Infinity,也可以有无穷小-Infinity
NaN NaN代表Not a Number。当一个Undefined表达式的结果为数值型数据时,该数值型就是NaN值。
NaN是唯一一个不能和自身做比较的值
2.字符串型
定界符 “”|’’
转义符 \n->回车换行
\r->换行
\t->水平制表符
“->”
‘->’
\->
(注释:->代表的意思)
3.布尔类型
true|false
2.复合数据类型
对象(object)
数组(array)
函数(function)
3.特殊数据类型
无定义数据类型undefined:undefined用来表示不存在的值或者尚未赋值的变量。对一个变量只声明不赋值或者赋予一个不存在的属性值,都会使这个变量的值为Undefined
空值null:null表示空值,表示什么都没有,相当于一个占位符。
null和undefined的区别就是undefined表示变量未被赋值,而null表示变量被赋予了一个空值
4.变量
声明变量:
通过var关键字声明变量
可以声明变量的同时给变量赋值
可以一次声明一个变量也可以一次声明多个看变量
如果只声明变量未对其赋值,默认值为undefined
如果变量重名产生覆盖
注意-》变量严格区分大小写斜体样式
变量名称不要包含特殊字符
变量名称最好遵循驼峰标记法或者下划线法
变量名称最好含义明确
变量在内存中的存储与释放
收集方式
收集内容
回收算法
5.类型转换
隐式转换
转换成布尔类型假
undefined->false
null->false
数值型0或0.0或NaN->false
字符串长度为0->false
其它对象->true
转换为数值型数据
undefined->NaN
null->0
true->1|false->0
内容为数字->数字,否则转换成NaN
其它对象->NaN
转换为字符串型数据
undefined->“undefined”
null->“null”
true->“true” false->“false”
数值型->NaN、0或者与数值对应的字符串
其它对象->如果存在这个对象则转换为toString()方法的值,否则转换为Undefined
显示转换
转换成数值
Number函数强制转换成数值 : 数值->转换成原来的值、字符串->如果可以解析为数值,则转换成数值;否则转换成NaN或者0、true->1,false->0
、undefined->NaN、null->0
转换成整型 praseInt()
转换成浮点型 praseFloat()
注意: Number函数将字符串转换为数值比praseInt函数严格很多。基本上只要有一个字符无法转换成数值,整个字符串就会被转换成NaN
转换成字符串
通过String函数转换成字符串: 数值->数值本身、字符串->字符串本身、true->“true”,false->“false”、undefined->“undefined”、null->“null”
转换成字符串型 :toString()
转换成布尔类型
通过Boolean函数强制转换成布尔值: 0、-0->false、NaN->false、空字符串->false、undefined->false、null->false