数据类型有:数值、文本、图形、音频、视频;
变量
变量可以是$开头,也可以是_开头,但是不可以是数字开头;
变量也可以用中文来表示,但一般都是用字母、数字,特殊符号来表示;
//变量
var 王者荣耀='倔强青铜';
number
JS不区分小数和整数,也不区分大小写;
123 //整数123
123.1 //浮点数123.1
1.123e3 //科学计数法
-99 //负数
NAN //not a number
Infinity //表示无限大
字符串
和java类似,用引号引起来,如:“abc”、'abc'。
布尔值
- true
- false
逻辑运算
- && 与,两个都为真,结果为真;
- || 或,一个为真,结果为真;
- ! 非,真即假,假即真
比较运算符
- =
- == 等于(类型不一样,值一样,也会判断为true)
- === 绝对等于(类型一样,值一样,结果true)
这是JS的缺陷,坚持不要使用==来比较,一般使用第三个“===”来比较;
须知:
- NAN===NAN(false),NAN与所有的数值都不相等,包括和自己;
- 只有通过isNAN(NAN)来判断这个数是否是NAN;
浮点数问题 :
尽量避免使用浮点数进行运算,存在精度问题!
console.log((1/3)===(1-2/3)) //结果为false
console.log(Math.abs(1/3-(1-2/3))<0.00000001) //结果为true
null和undefined
- null 空
- undefined 未定义
数组
java的数组值必须是相同类型的对象;
JavaScript中不需要这样,不同类型的数据可以放在同一个数组中;
// 数组
//为了保证代码的可读性,尽量使用[];
var arr=[1,2,3,4,5,'hello',null,true];
new Array(1,12,3,4,4,5,'hello');
取数组下标:如果越界了,控制台console就会报错:
undefined
对象
对象是大括号{xxxx},数组是中括号[xxxx];
每个属性之间使用逗号隔开,最后一个不需要添加逗号;
//对象
// java中定义对象方法:Person person=new Person(1,2,3,4,5);
var person={
name:'qinjiang',
age:3,
tags:['js','java','web','...']
}
取对象的值:
//取对象的值
person.name
》‘qinjiang’
person.age
》3