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

你可能感兴趣的:(es6基础语法-001)