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