数值,文本,图形,音频,视频...
变量
var a = 1;
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.000000001
null和undefined
null 空
undefined 未定义
数组
Java的数组必须是一系列相同类型的对象,js不需要这样!
//保证代码的可读性,尽量使用[] var arr = [1,2,3,4,'a',null,true]; new Array(1,2,3,null,'j');
取数组下标,如果越界了,就会
undefined
对象
对象是大括号,数组是中括号!
每个属性之间使用逗号隔开,最后一个不需要添加
//Person person = new Person(1,2,3,4,5); var person = { name:"杨不悔", age:18, tags:["终身不悔","不悔",'...'] }取对象的值
person.name >"杨不悔" person.age >18<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> console.log((1/3)===(1-2/3)); console.log(Math.abs((1/3)-(1-2/3))<0.000000001); //保证代码的可读性,尽量使用[] var arr = [1,2,3,4,'a',null,true]; new Array(1,2,3,null,'j'); //Person person = new Person(1,2,3,4,5); var person = { name:"杨不悔", age:18, tags:["终身不悔","不悔",'...'] } </script> </body> </html>