1.数据类型简介
数值、文本、图片、音频…
number
js不区分小数和证书
123 //整数123
123.1 //浮点数
NaN //not a number
Infinity //表示无限大
布尔值
true false
逻辑运算
&& 和,两个都为真
|| 或,一个真、一个假
! 非,真即假,假即真
比较运算符
=
== 等于(类型不一样,值一样,结果为true)
=== 绝对等于(类型、值都一样)
须知:
NaN与所有数值都不等,包括自己
通过isNaN(num)方法判断
浮点数问题
console.log((1/3)===(1-2/3)) //false(尽量避免使用浮点数计算,精度问题)
null和undefine
- null 空
- undefine 未定义
数组
var arr=[1,2,3,“hello”,null,true]
数组内元素可以为不同类型
取数组下标,超过返回undefine
对象
对象是大括号,数组中括号
//每个属性用逗号隔开,最后一个不需要添加
var person{
name:"xiaoliu",
age:18,
arr1:[1,2,3]
}
//取值
person.name
变量
2.严格检查模式
use strict必须写在JavaScript的第一行
局部变量使用 let定义
3.数据类型详细介绍
3.1 字符串
字符串不可变
正常字符串使用单引号、或双引号包裹
注意转义字符 \
\'
\n
\t
\u4e2d //中 unicode字符
\41 /A Ascll字符
模板字符串``(反引号tab上面)
let name="你好";
let msg=`你好啊,${name}`
大小写转换,用方法
let name="like";
name.toUpperCase()
name.toLowerCase()
indexOf (‘i’)获取下标
substring [)截取
数组
var arr=[1,2,3,4,]
1.长度 arr.length
for of 遍历具体的值,for in打印下标
for(var x of arr){
cinsolelog(x)
}//1,2,3,4
对象
JavaScript中所有的键都啥字符串,值是任意类型
若干个键值对
var person{
name:"xiaoliu",
age:18,
arr1:[1,2,3]
}
对象赋值
person.name=“qingqing”
person.name
/>>qingqing
使用不存在的对象,不会报错,是undefine
动态删减
deleate person.name
hasOwnProperty() 判断一个属性是否是这个对象自身拥有的
Map和Set (Es6新特性)
Map
var map=new Map(['tom',100],['jack',90],['lili',80])
var name=map.get('tom');// 通过key获取value
map.set('admin',70) //新增或修改
map.delete('tom') //删除
Set:无绪不重复的集合
var set=new Set(3,1,1,1]) //去重
console.log(set) // [3,1]
set.add(2)
set.delete(1)
set.has(3) //true
iterator使用iterator来遍历迭代Map、Set
遍历数组
for of 遍历具体的值,for in打印下标
```html
for(let x of arr){
cinsolelog(x)
}//1,2,3,4
遍历Map
var map=new Map(['tom',100],['jack',90],['lili',80])
for(let x of map){
cinsolelog(x)
}
遍历Set
var set=new Set(3,1,1,1])
for(let x of set){
cinsolelog(x)
}//3,1