es6基础语法-001

var 和let

在es5中只有只有全局作用域和函数作用域

在全局作用域中定义的变量,每个函数和每个变量中都可以使用,但也有可能会被改变

var name = 'zach';
while(true){
    var name = 'obama'
    console.log(name)
    break
}
console.log(name);

在es6中重新定义了一个块级作用域,使用let定义的变量只在该代码块中可用

let name = 'zach'
while (true){
    let name = 'obama'
    console.log(name)
    break
}
console.log(name);

用闭包解决

function iteratorFactory(i){
    var onclick = function (e) {
        console.log(i);
    }
    return onclick;
}
var clickBoxs = document.querySelectorAll('.clickBox');
for(var i=0;i<clickBoxs.length;i++){
    clickBoxs[i].onclick = iteratorFactory(i);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • let 和 const 命令 let 命令 块级作用域 const 命令 顶层对象的属性 gl...
    安小明阅读 4,529评论 0 0
  • 一、ES6简介 ​ 历时将近6年的时间来制定的新 ECMAScript 标准 ECMAScript 6(亦称 ...
    一岁一枯荣_阅读 11,270评论 8 25
  • let 命令 块级作用域 const 命令 顶层对象的属性 global 对象 let 命令 基本用法 ES6 新...
    嘉奇呦_nice阅读 5,530评论 0 2
  • 看了一部剧,顺便瞄了一眼评论,顿时看到好多千奇百怪的观感,有好多想法让我感觉特别好笑甚至不禁替原创者扼腕。当...
    向小北阅读 1,404评论 0 0
  • 经济学的最基本假设,就是经济世界里的人都是理性的。于是乎,展开各种分析,怎么达到最优的资源配置,以此来提出经济政策...
    夏叶儿阅读 4,406评论 2 6