const 的作用:用于创建常量。(常量指的是固定不变的量)
var可以重复命名变量名,let不可以重复命名变量名。
let的特性:不能够重复定义;不存在变量提升;存在块级作用域;不存在作用域链问题。
绑定单击事件的标签:
document.getElementsByClassName()
改变背景颜色:
this.style.backgroundColor = ' ' // this表示当前这个对象
Math.random() //随机生成0-1之间的随机数,不包含0和1
解构赋值的基本使用:let [a,b,c]=[12,20]
不完全解构:
1.变量名比等号右侧的值少,且没有其他特殊处理的话,多出的值会被忽略
let [a,b,c] = [10,15,17,23,31] //结果:a 10 ,b 15 ,c 17
2. 变量名比等号右侧的值多,多出的变量名值为undefined
let [a1,b1,c1] = [10,15] // 结果:a1 10,b1 15 ,c1 undefined
3. 剩余运算符(...) ,会将剩下的值以数组的方式存储到c2变量中
let [a2,b2,...c2] = [10,15,17,23,31] //结果:a2 10 ,b2 15 ,c2 17 23 31
4. 默认值,当等号左侧的变量设置了默认值,在等号右侧又可以找到匹配的值,那么变量的值使用等号右侧匹配的值
let [a3,b3,c3='default'] = [10,15,'zhangsan']
console.log(c3); // 结果:zhangsan
let [test = 12] = [undefined];
console.log(test); // 结果为 12
let [test1 = 12] = [null];
console.log(test1); // 结果为 null
对象的解构赋值:
a. 等号左侧要使用花括号({})包裹变量名
b. 变量名要和对象中要要解构的属性名保持一致
c. 等号右侧就是要解构的对象
let obj1 = {
name:"张三",
age:18,
sex:1,
study:function(){}
}
let {name,age} = obj1
console.log(name);
指数运算符 符号 :**
5的3次方(5**3)
指数赋值运算符 符号: **=
a**=4等价于a=a**4