码迷,mamicode.com
首页 > 其他好文 > 详细

ES6(一)

时间:2017-05-24 14:40:39      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:对象   影响   his   cto   变量提升   pre   ora   cti   dex   

来自: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 = 5
console.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(一)

标签:对象   影响   his   cto   变量提升   pre   ora   cti   dex   

原文地址:http://www.cnblogs.com/h5monkey/p/6898456.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!