一,生名变量
1.let
可以更加规范的编写代码
具有全局性
let a = 100
let b = 200
function fun(){
console.log(a + b) // 300
}
fun()
2.const
定义后的变量,将会无法更改
const a = 100
console.log(a) //100
a = 200
console.log(a) // 跑错
二,赋值
1,传统赋值
var a = 10
let b = 20
const c = 30
2,数组解构赋值
let [a,b,c] = [10,20,30]
console.log(a) // 10
console.log(b) // 20
console.log(c) // 30
还可以这样写
let [a,[b],c] = [10,[20],30]
console.log(a) // 10
console.log(b) // 20
console.log(c) // 30
总之,将括号,能够对应上就可以了
1)默认项
如果没有赋值变量,那么这个变量,将会等于默认项
let [a='true'] = []
console.log(a) // true
2)undefined事件
如果赋给变量的值是undefined的话,那就是未定义,将变量就会有一个默认值,这个默认值,不是一定要有的,这里是为了演示,我用了默认项
let [a='true'] = [undefined]
console.log(a) // true
3,对象解构赋值
let {a,b,c,d} = {a:10, b:20, c:30}
console.log(a) // 10
console.log(b) // 20
console.log(c) // 30
console.log(d) //undefined
1)别名
再给变量赋值给一个新的名字,调用的时候要用赋值后的新名字
let {a:as,b:bs,c:cs} = {a:10, b:20, c:30}
console.log(as) // 10
console.log(bs) // 20
console.log(cs) // 30
2)标量和属性值不一样的情况
将变量和赋值,分开写
let obj = {a:10, b:20, c:30}
let {a,b,c} = obj
console.log(a) // 10
console.log(b) // 20
console.log(c) // 30
三,箭头函数
箭头函数和函数差不多,但是性能要比函数,要好得多,
let Person = {
'name':'小明',
'age':18,
'sayHolle':function(){
setInterval( () => {
// 这里的this指的是这个对象
console.log(this.name)
console.log(this.age)
},1000)
}
}
Person.sayHolle()
四,map数据结构
let map = new Map([
['name','张三'],
['title','作者']
])
1)调用方法
let map = new Map([
['name','张三'],
['title','作者']
])
// get方法调用方式
console.log(map.get('name')) // 张三
console.log(map.get('title')) // 作者
console.log(map.get('age')) // undefined
2)set方法更改
let map = new Map([
['name','张三'],
['title','作者']
])
// set方法更改
map.set('name','李四')
console.log(map.get('name')) // 李四
map.set('title','作者的')
console.log(map.get('title')) // 作者的
3)delete方法删除数据
let map = new Map([
['name','张三'],
['title','作者']
])
// set方法更改
map.delete('name')
console.log(map)
输出的结果
2,map遍历数组
1)keys方法
循环属性
let map = new Map([
['name','张三'],
['title','作者']
])
for (let key of map.keys()){
console.log(key) // name title
}
2)valus方法
循环值
let map = new Map([
['name','张三'],
['title','作者']
])
for (let value of map.values()){
console.log(value) // 张三 作者
}
3)entries方法
循环的是属性和值
let map = new Map([
['name','张三'],
['title','作者']
])
for(let[key,value] of map.entries()){
console.log(key + ':' + value)
}
4)forEach方法
循环属性和值
let map = new Map([
['name','张三'],
['title','作者']
])
map.forEach(function(value,index){
console.log(index +':'+ value)
})
输出结果