const就是定义的常量,一旦赋值,就不能再改变了
不能重复定义变量
没有变量提升;
不会给window添加属性;
解构赋值:
数组解构赋值
(1)前后模式必须匹配(后面的值是什么模式,前面的变量必须是什么模式)
(2)前多后少(前面声明的变量多,后面赋值少,那么解构不成功,没有匹配上的变量就会报undefined)
(3)前少后多(1.省略赋值,用逗号隔开 2.不定参数赋值,...代表扩展运算符,必须写在最后)
(4)带默认值的问题(先结构赋值,不再考虑默认值;解构成功,就直接赋值,值为undefined,不成功,走默认值)
对象结构赋值
(1)变量和属性必须同名,可颠覆
(2)如果解构失败,就是undefined
(3)如果变量跟属性名不一样
等号右边的值只要带有length属性,都可以解构;
函数参数的解构;
参数集合
函数中等号左边是参数,右边是默认值;当函数调用不传参时,走函数形参的默认值;传参的话默认值不走,实参覆盖形参,赋值给左边的参数
在对象中,不传参时,结构不成功,走默认值;
实参有值时,赋值给形参,那么解构成功,走实参;
实参为空对象时,解构不成功,为undefined,走默认值;
通过参数传值时不考虑默认值;
形参就是变量赋值,没有变量提升;
实参没赋值,形参就是undefinded;
当私有作用跟外部有相同变量时,外部变量不能使用;
函数arguments是实参构成的集合;获取方式:扩展运算符
箭头函数:
箭头函数只适用于匿名函数/回调函数。如:let a=function(){} 匿名函数 fn(12,function(){}) 回调函数
匿名函数:只要不是关键字function声明的函数都叫匿名函数;
let fn=(形参)=>{函数体} 每一个函数结束一定要一个return. 当值有一个参数的时候,可以省略(),中间的形参得用空格隔开
当函数体只有一横代码且是return xxx时可以省略{}和return
箭头函数的优势1. 箭头函数没有this指向函数中改变this指向的方向
(1) 在函数前提前对this赋值 that= this
(2) 在函数结尾处{}.bind(this)
(3) 在函数的结尾处{}.apply{this}或者是{}.call{this}
(4) 使用箭头函数
所有实例对象的__proto__都指向父类的原型
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。