ES6——变量

ES6变量:

1、var

  • 可以重复声明;
  • 无法限制修改;
  • 没有块级作用域;(如,{...},if(){..} ...)

2、let

  • 不可以重复声明,变量—可以重复修改,有块级作用域;
    let a = 12;
    a = 5;
    alert(a);
    // 输出:5

       window.onload = function(){
            var btn = document.getElementsByTagName('input');
            
            for(let i=0;i < btn.length; i++){
                btn[i].onclick = function(){
                    alert(i+1);
                }
            }
            // 输出:1 2 3
    
            // for(var i=0;i < btn.length; i++){
            //     (function(i){  // 自调用函数
            //         btn[i].onclick = function(){
            //         alert(i+1);
            //     }
            //     })(i);
            // }
            // 输出:1 2 3
    
            // for(var i=0;i < btn.length; i++){
            //     btn[i].onclick = function(){
            //         alert(i);
            //     }
            // }
            // 输出:3 3 3 解决方法==》自调用函数
        };

3、const

        const是常量,定义之后不能改变,只能在初始化赋值

 

  • 不可以重复声明,常量—不能修改,有块级作用域;
    const a = 12;
    a = 5;
    alert(a);
    // 输出:Uncaught TypeError: Assignment to constant variable.
    // (不能对常量赋值)
    ===============================================================
     if(true){
        const b = 4;
     } 
     alert(b);
     // 输出: b is not defined
     
     
原文地址:https://www.cnblogs.com/sylys/p/11634281.html