ES6變量

JS的變量申明

var

  • 可以重復聲明
  • 無法限制修改,即常量
  • 沒有塊級作用域{}

ES6的變量申明

let

  • 不能重復聲明
  • 變量——可以修改
  • 只在塊級作用域內(nèi)有效

const

  • 不能重復聲明
  • 常量——不能修改
  • 只在塊級作用域內(nèi)有效

閉包

  • 簡單說,就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)
  • 函數(shù)執(zhí)行的時候分配棧,執(zhí)行結束后會回收棧(GC——垃圾回收)
  • 在JS里面
    • 底層:棧
    • 高層:把函數(shù)當作對象處理
    • 閉包——不會回收棧
<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>
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,626評論 1 32
  • ES6 變量聲明與賦值:值傳遞、淺拷貝與深拷貝詳解 ES6 為我們引入了 let 與 const 兩種新的變量聲明...
    Cause_XL閱讀 4,149評論 0 2
  • 不存在變量提升 按照程序語法邏輯,變量應該在聲明語句之后才可以使用,即變量可以在聲明之前使用,其值為undefin...
    _羊羽_閱讀 238評論 0 0
  • 之前學習閉包的時候碰到一道題 var聲明的變量沒有塊級作用域。所以實際上這里的i實際上是定義在全局作用域下的 co...
    cccccchenyuhao閱讀 757評論 0 1
  • 一、 變量 函數(shù) 數(shù)組 字符串 面向對象 promise generater 模塊化 變量: var的缺點:1、可...
    小囧兔閱讀 259評論 0 0

友情鏈接更多精彩內(nèi)容