JavaScript -> 数据类型、严格检查模式
1、数据类型
数值、文本、图形、音频、视频…
- 所有的变量都使用var关键字
1.1 number
- js不区分小数和整数
123
123.1
1.23e3
-99
NaN //not a number
Infinity
1.2 字符串
- ‘abc’ “abc”
1.3 布尔值
console.log(2>1)
VM607:1 true
undefined
console.log(2>3)
VM619:1 false
undefined
1.4 逻辑运算
&&
||
!
1.5 比较运算符
= 赋值
== 等于 类型不一样,值一样,也会判断为true
=== 绝对等于 必须类型一样,值一样,结果才能为true
NaN === NaN (false),这个与所有的数值都不相等,包括自己
只能通过isNaN(NaN)来判断这个数是否是NaN
- 浮点数问题
console.log((1/3) === (1-2/3))
VM60:1 false
- 尽量避免使用浮点数进行运算,存在精度问题!
console.log(Math.abs((1/3) - (1-2/3)) < 0.00000001)
VM66:1 true
1.6 null 、undefined
- null 空值
- undefined 未定义
1.7 数组
- java中数组b必须是一系列相同类型的对象
- JavaScript中数据可以是不相同类型的对象,数组用中括号
var arr = [1,2,3,4,5,'hello',null,true]; //尽量使用这种
new Array(1,2,3,4,5,'hello',null,true);
1.8 对象
- 对象用大括号
- 每个属性之间使用逗号隔开,最后一个属性不需要加逗号
// Person person = new Person();
var person = {
name: "Wangjiao",
age: 22,
tags: ['js','java','web','mysql']
}
- 取对象的值:
person.name
"Wangjiao"
person.age
22
person.tags
(4) ["js", "java", "web", "mysql"]
2、严格检查模式
- ‘use strict’
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--
前提:IDEA需要设置支持ES6语法
'use strict'; 严格检查模式,预防JavaScript的随意性导致产生的一些问题
必须要写在JavaScript第一行!
局部变量建议都使用let定义
-->
<script>
'use strict';
//ES6 let
let i = 1;
</script>
</head>
<body>
</body>
</html>