数值,文本,图形,音频,视频.....
变量
var 王者荣耀="倔强青铜";
number
js不区分小数和整数,Number
1 123 //整数1232 123.1 //浮点数123.13 1.123e3 //科学计数法4 -99 //复数5 NaN //not a number6 Infinity //表示无限大
字符串
'abc' "abc"
布尔值
true, false
逻辑运算
1 && 两个都为真,结果为真 2 3 || 一个为真,结果为真4 5 ! 真即为假,假即为真
比较运算符
1 = 2 3 == 等于(类型不一样,值一样,也会判断为true)4 5 === 绝对等于(类型一样,值一样,结果为true)
这是JS的一个缺陷,坚持不要用==来比较
须知:
#NaN===NaN,这个与所有的数值都不相等,包括自己
#只能通过isNaN(NaN)来判断这个是否是NaN
浮点数问题:
1 console.log((1/3)===(1-2/3))
尽量避免使用浮点数进行运算,存在精度问题!
1 Math.abs(1/3-(1-2/3))<0.00000001
null和undefined
#null 空
#undefined未定义
数组
Java的数值必须是相同类型的对象,JS中不需要这样
1 //保证代码的可读性,尽量使用 []2 var arr=[1,2,3,4,5, 'hello',null,true];3 4 new Array(1,12,3,4,,4,5,'hello');
取消数组下标:如果越界了,就会
undefined
对象
对象是大括号,数组是中括号
~每个属性之间使用逗号隔开,最后一个不需要添加~
1 //Person person=new Person(1,2,3,4,5);2 var person={3 name:"cl",4 age:3,5 tags:['js','java','web','.....']6 }
取对象的值
1 person.name2 > "cl"3 4 person.age5 >36 7 person.tags8 >"js", "java", "web", "..."