• 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 = 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

     //const声明属性的时候必须赋值
        var a;
        let b;
        const c; //报错
        
        //改变常量的数据
        const a = 10;
        a = {}; //浏览器会报错  改变数据
        const a = {
        obj: 10
        };
        a.obj = 20; //不会报错  只是修改对象数据  没有改变obj的引用



    
    
    
  • 相关阅读:
    非常实用的php各种文件操作函数
    两个自用的Dota2 自走棋辅助工具:阵容模拟器与UI Mod插件
    Scratch 数字游戏
    初识Scratch 3.0
    何时重头来
    cocos2d-x 3.0 Armature jsb 初体验
    cocosbuilder中的Callbacks和sound effects
    cocos2dx js文件加密为jsc文件
    cocos2dx jsb 在IOS与安卓下的一些不同之处
    安卓打包记录
  • 原文地址:https://www.cnblogs.com/h5monkey/p/6898456.html
Copyright © 2020-2023  润新知