变量
let
用来声明变量,不可以重复声明,可以重复赋值
const
用来声明常量,常量称为只读数据,
一旦声明必须赋值,且值不可再改,
const声明的常量不可以重复声明,不可以重复赋值
var
用来声明变量,既可以重复声明,也可以重复赋值
var、const、let之间的相同点
都是声明的关键字
var、const、let之间的不同点
1.变量提升只有var
2.作用域:var声明的变量存在于window等级对象中,let和const的变量存在于独立的块级作用域中
3.let可以重复的赋值,const不可以重复赋值
暂时性死区
let和const的块作用域的特性
当let或const放在{}里的时候,这个{}就会变成块级作用域,被let或const声明的变量锁死--暂时性死区
在es5时代,作用域只有全局的window和局部的函数作用域,受条件限制,for循环if和switch里的变量会污染全局,现在有了let和const之后,凡是有{}的代码块里使用let或const则{}就会变成块级作用域
三者的使用场景
1.let适合在for循环中的定时器使用,作为强类型语法限制的变量
2.const适合作为一次性赋值的常量,用于数据版本号或id
3.var适合兼容老的IE浏览器,对于很久的项目使用的比较多,目前推荐使用let替代
模板字符串
1.可以换行,并且原格式输出,自动添加制表符
2.可以使用`${}`的形式插入表达式或变量值
es6里的解构赋值
对象
1.使用{}去解构,不光解构自身的属性还会解构原型上的属性
2.对于对象自身没找到的属性,解构出来的变量的值是undefined
数组
1.使用[]去解构,按顺序解构
2.对于不存在的,得到的值也是undefined
解构赋值中的对象和数组的区别是?
1.对象解构按属性名解构
2.数组解构按位置解构
解构赋值中的默认值
1.`var [a=1]=[]`如果目标数据中没有对应的项,则使用默认值
function和箭头函数
相同点
1.都是函数
2.都有局部作用域
不同点
1.语法不同
2.this指向不同
1.function指向调用他的对象
2.箭头指向他的上一级
3.不定参伪数组
1.function函数中有arguments
2.箭头函数没有arguments,但是可以使用...扩展运算符得到类似的形参集合
4.箭头函数不可以作为构造函数使用,不可以使用new调用
5.箭头函数没有原型对象
6.箭头函数是匿名函数
7.箭头函数不能改变this指向
函数重载
一个函数根据传入的不同的参数,执行不同的业务,实现不同的效果,就叫函数重载
函数尾部调用
一个函数返回的是一个函数的返回值
目的:1.数据的传递和加工2.为了节省内存的开关释放
函数的链式调用
$('#box').css('color','red').hide().show()
核心概念:每一个被调用的函数都会返回一个值,链式调用中的返回值一般都是操作的目标元素的this
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。