主要内容大概
let命令
var可以重复定义,let不可以重复定义,符合常见的语法规范
js不存在完整的块级作用域
但是es6中提出了块级作用域,但是必须要通过let声明
局部作用域在外部不可使用
用let声明a,但是不能在声明之前使用a,所以会报错,但是如果变成var则不报错,输出a=200
let解决循环变量加监听的功能,如果是var i=0,则alert弹出的都3,因为i循环完以后就是3不变了,所以以后声明变量尽量都使用let
const关键字
不可重新赋值,保存一些不可被更改的值
变量的解析赋值
创建一个obj对象,不是类
es6新的对象赋值方法,好似json,如果把username换成username1,就赋值不成功,因为匹配不到,也是好似json
中括号对应中括号
也没有问题,输出 h e l l o
模板字符串
传统拼接方式
高级拼接方式
简化的对象写法
对象里面声明函数,加上this才能输出tom,如果不加输出的jerry
es5中可以这么写,但是比较麻烦,但是在es6中
直接这么写,简化写法,function也可以省略了
箭头函数
结合foreash使用
所以这里的this是window,是声明时候的对象
这个时候定时器是window,因为setinterval是window调用的
这个时候箭头函数有外层函数,所以此时this是btn2
外层的外层是window此时this是window
排序默认升序
降序,牛掰,正序就是a-b
箭头函数就是简化回调函数
点点点运算符
。。。
val可变参数只能在参数列表最后,上图中,1赋值给了a
一个扩展的用法
箭头函数的可变参数
js的语法不想java一样如果只有形参没有实参就会报错,语法比较松散,js中可以不传参,赋默认值的方法就是等于
数组拓展