## let关键字
与var变量相似,现在开发中多用let替换var
特点:在块级作用域中有效
不能重复声明
不会预处理,不存在变量提升
// 为多个按钮绑定点击事件
for (let i = 0;i < 3; i++) {
let btn = btn[i];
btn.onclick(function () {
console.log(i)//点击不同的按钮输出不同的i
})
}
// 为多个按钮绑定点击事件
for (var i = 0;i < 3; i++) {
let btn = btn[i];
btn.onclick(function () {
console.log(i)//点击任何一个按钮都输出3
})
}
## const关键字
作用:定义一个常量
特点:不能修改,其他特点同let
应用:保存不用改变的数据
## 箭头函数
作用: 定义匿名函数
基本语法:
1. 没有参数: () => console.log('xxxx')
2. 一个参数: i => i+2
3. 大于一个参数: (i,j) => i+j
4. 函数体不用大括号: 默认返回结果
1. 函数体如果有多个语句, 需要用{}包围,若有需要返回的内容,需要手动返回
使用场景: 多用来定义回调函数
特点:
1、简洁
2、箭头函数没有自己的this,箭头函数的this不是调用的时候决定的,而是在定义的时候处在的对象就是它的this
3、扩展理解: 箭头函数的this看外层的是否有函数, 如果有,外层函数的this就是内部箭头函数的this, 如果没有,则this是window
btn1.onclick(function () {
console.log(this);// btn
})
btn2.onclick( () =>
console.log(this);// window
)