- 让webstorm支持ES6语法:file-setting-languages&frameworks-javascript-右侧选择ES6
- let定义变量没有预解释且不能重复定义,在定义变量之前输出报错。var定义变量有预解释,在定义变量之前输出是undefined
- 在ES6里不只有函数的{}被称为私有作用域,所有{}都被称为私有作用域。比如,if(条件){}判断,for(var i=0;i<10;i++){}
  - ES6中只要是{}都是私有的块级作用域,块级作用域外和块级作用域内,定义同一个变量不会冲突。因为不是一个空间
for(var i=0;i<oLis.length;i++){
oLis[i].onclick=function () {
alert(i);
}
}
//绑定事件是异步的,当我们点击某个元素触发绑定在他身上的事件时,循环早已执行完毕i值已经是不符合循环条件的i,此时不管点击哪个元素弹出的索引都是不符合循环条件的索引

将var改为let点击元素就能够正确的索引了,因为循环每次执行时都会形成私有的块级作用域保存正确的索引不被外界的变量改变
for(let i=0;i<oLis.length;i++){
    oLis[i].onclick=function () {
        alert(i);
    }
}
- const定义的是常量,也没有预解释且不能重复定义。
  - 值不能被整个改变(如果是数组或对象可以改变其中的某项,但是如果改变了引用地址即覆盖就会报错)
let,const,function如果声明同一个变量也是重复声明,是一个作用
 

最新文章

  1. SeaJS入门篇一 怎么使用query
  2. java分享第九天-01(抽象类)
  3. Keepalived+Nginx架构整理版
  4. javascript Date
  5. cnodejs社区论坛6--评论功能
  6. 你所不知道的SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧
  7. mysql 时间格式与日期格式转换,去除datetime中的具体时间
  8. Mybatis choose (when, otherwise)标签
  9. Js笔试题之千分位格式化
  10. 转】使用kaptcha生成验证码
  11. POJ 1502 MPI Maelstrom (Dijkstra)
  12. pjsip视频通信开发(上层应用)之数字键盘的制作
  13. PDF编译出现错误解决办法
  14. OpenSceneGraph FAQ
  15. Robot Framework与Web界面自动化测试学习笔记:如何判断单选框的选中状态
  16. 前端知识复习一(css)
  17. 一台机器启动多个tomcat简单配置
  18. 国内maven仓库地址 || 某个pom或者jar找不到的解决方法
  19. mysql主主配置
  20. Robot Framework自动化使用

热门文章

  1. localhost、127.0.0.1、本机ip、0.0.0.0 的区别
  2. HDU 6614 AND Minimum Spanning
  3. 【bzoj2946】[Poi2000]公共串
  4. JavaScript toFixed()、toExponential、toPrecision方法
  5. CG-CTF | I wanna play CTF
  6. package.json保存
  7. mui初级入门教程(七)— 基于native.js的文件系统管理功能实现
  8. MacOS X 安装OpenCV3.2
  9. Gradle 编译加速
  10. st.getParameter() 和request.getAttribute() 区别 https://terryjs.iteye.com/blog/1317610