首页 > 代码库 > ES6(一)
ES6(一)
来自:http://h5monkey.github.io/2015/05/09/ES6%EF%BC%88%E4%B8%80%EF%BC%89/
基本语法
let是块级作用域,函数内部使用let定义后,对函数外部无影响。
// 错误写法 变量提升不可以console.log(b);let b = 3;// 错误写法 变量不可重复赋值let a = 4;let a = 5console.log(a)
var btns = document.querySelectorAll("button"); for (var i = 0; i < btns.length; i++) { btns[i].onclick = function() { console.log(i) //永远等于i=5 } } //改变 for (var i = 0; i < btns.length; i++) { btns[i].index = i; btns[i].onclick = function() { console.log(this.index) } } //改变 for (var i = 0; i < btns.length; i++) { (function(i) { btns[i].onclick = function() { console.log(i) } })(i); } //改变 for (let i = 0; i < btns.length; i++) { btns[i].onclick = function() { console.log(i) //let创建出作用域块 } }
const定义的变量不可以修改,而且必须初始化。
//在循环语句之内是一个父作用域,在循环体中是一个子作用域 //例子: for (let i = 0; i < 3; i++) { let i = 10; console.log(i); } console.log(i)
//const声明属性的时候必须赋值 var a; let b; const c; //报错 //改变常量的数据 const a = 10; a = {}; //浏览器会报错 改变数据 const a = { obj: 10 }; a.obj = 20; //不会报错 只是修改对象数据 没有改变obj的引用
ES6(一)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。