ES6变量

作者: 简小园 | 来源:发表于2019-07-11 19:26 被阅读0次

JS的变量申明

var

  • 可以重复声明
  • 无法限制修改,即常量
  • 没有块级作用域{}

ES6的变量申明

let

  • 不能重复声明
  • 变量——可以修改
  • 只在块级作用域内有效

const

  • 不能重复声明
  • 常量——不能修改
  • 只在块级作用域内有效

闭包

  • 简单说,就是能够读取其他函数内部变量的函数
  • 函数执行的时候分配栈,执行结束后会回收栈(GC——垃圾回收)
  • 在JS里面
    • 底层:栈
    • 高层:把函数当作对象处理
    • 闭包——不会回收栈
<script>
    window.onload=function(){
        var aBtn=document.getElementsByTagName('input');
        //闭包
        //var 没有块级作用域
        for(var i=0;i<aBtn.length;i++){
            (function (i){
                aBtn[i].onclick=function(){
                    alert(i);
                }
            })(i);
        }
        //let 有块级作用域
        for(let i=0;i<aBtn.length;i++){
            aBtn[i].onclick=function(){
                alert(i);
            }
        }
    }
</script>

<body>
    <input type="button" value="按钮1"/>
    <input type="button" value="按钮2"/>
    <input type="button" value="按钮3"/>
</body>

相关文章

  • ES6常变量关键字

    ES6之前如何定义变量 可以重复定义变量,会覆盖 会对变量进行预解析 ES6之后如何定义变量 不允许重定义变量 没...

  • 16-JavaScript-ES6语法

    ES6常量和变量关键字 ES6定义变量 注意点:ES6开始新增了一种作用域, 叫做代码块通过let定义的变量受到代...

  • es6重点介绍

    ES6 的变量声明 ES6 中新增了 let 和 const 来定义变量: var:ES5 和 ES6中,定义全局...

  • ES6 笔记(常量&&变量)

    ES6 笔记(常量&&变量) 变量&&常量 新特性 ES6 新增了let命令,用来声明变量。它的用法类似于var,...

  • js 变量提升(3)

    ### ES6中let创建的变量不存在变量提升 /* * 在ES6中基于let或者CONST等方式创建变量或者函数...

  • ES6语法

    ES6语法 1.ES5和ES6声明变量的方式对比 ES5中声明变量的方式: ES6中声明变量的方式: 2. var...

  • ECMAScript6--let、const

    在es6之前用var定义变量。es6中新增了let、const 变量声明提升 所谓变量声明提升指的是,用var定义...

  • 『ES6脚丫系列』let+const+变量+变量作用域+块作用域

    『ES6脚丫系列』let+const+变量+变量作用域+块作用域+变量声明提升 一、let命令 【01】ES6新加...

  • 1.JavaScript中关于定义变量以及变量作用域

    1.在JavaScript中定义变量有两种方式 Es6之前:var 变量名称;Es6开始:let 变量名称; 2....

  • ES6变量的两种命名方式

    ES6变量的两种命名方式# es6是ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言...

网友评论

      本文标题:ES6变量

      本文链接:https://www.haomeiwen.com/subject/otwckctx.html