var(变量)、let(变量)和const(常量)的区别
var(变量):
1、存在变量提升问题,降低js代码的可阅读性
2、没有块级作用域,容易造成变量污染
let(变量):
1、不存在变量提升问题,只有定义之后才能使用此变量
2、存在{}块级作用域
3、let定义的变量不会挂载到window上面
const主要特性:
1、不存在变量提升问题,只有定义之后才能使用此变量
2、const定义的时常量,无法被重新赋值,如果时定义的是对象,则对象里面的值是可以被修改的
3、当定义常量的时候,必须定义且初始化,否则报语法错误
4、有块级作用域
5、定义的常量不会挂载到window上面
变量的结构赋值
定义: 所谓的变量结构赋值就是把某个对象中的属性当作变量,给释放出来,当作变量使用。例如:
let person={
name:"zs",
age:18,
gender: "男"
}
const{name:name123,age,gender} = person
console.log(name123);
箭头函数
1、语法:(形参列表)=>{函数体代码}
2、箭头函数本质上就是一个匿名函数。箭头函数的特性:箭头函数内部的this,永远和箭头函数外部的this保持一致,箭头函数不能用来当作构造函数。通过class类创建实例,箭头函数arguements.length拿不到实参。 注意:常规函数 实参通过arguements.length 获得544形参是通过函数名称.length获得