数据类型
数值,文本,视频,音频,视频…
number
js不区分小数和整数,number
123 //整数123
123.1 //浮点数123.1
1.123e3 //科学计数法
-99 //负数
NAN //not a number
Infinity//无限大
字符串
‘abc’ “abc”
布尔值
true,false
逻辑运算
&& 两个都为真结果为真
|| 一个为真,结果为真
! 真即是假,假即是真
比较运算符
=
== 等于(类型不一样,值一样,也会判断为true)
===绝对等于(类型一样,值不一样,结果true)
这是一个js的缺陷,坚持不要使用 ==比较
须知:
- NAN===NAN,这个与所有值都不相等,包括自己
- 只能通过isNAN(NAN)来判断这个数是否是NAN
浮点数问题
console.log(1/3)===(1-2/3)
尽量避免浮点数进行运算,存在精度问题!
Math.abs((1/3)-(1-2/3))<0.00000001
null和undefined
- null空
- undefined未定义
数组
java数组必须是相同类型的对象,js中不需要这样!
var arr=[1,2,3,4,5,"hello",null,true]
对象
对象是大括号,数组是中括号
每个属性使用逗号隔开,最后一个不需要添加
//person person = new person(1,2,3,4,5)
var person = {
name:"xuanren",
age:3,
tags:['js','java','web','...']
}
取对象的值
person.name
>"xuanren"