91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

es6中引入的作用域是什么

發布時間:2022-05-10 14:17:46 來源:億速云 閱讀:143 作者:zzz 欄目:web開發

本文小編為大家詳細介紹“es6中引入的作用域是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“es6中引入的作用域是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

es6中引入了“塊級作用域”;es5中只有全局作用域和函數作用域,es6中由一對大括號包裹形成的作用域就是塊級作用域,并明確允許在塊級作用域中聲明函數,函數聲明語句的行為類似于let,在塊級作用域之外不可引用。

本教程操作環境:windows10系統、ECMAScript 6.0版、Dell G3電腦。

es6中引入了什么作用域

ES6 引入了塊級作用域,明確允許在塊級作用域之中聲明函數。ES6 規定,塊級作用域之中,函數聲明語句的行為類似于let,在塊級作用域之外不可引用。

ES6標準中,由一對大括號包裹形成的作用域就是塊級作用域。

ES5 規定,函數只能在頂層作用域和函數作用域之中聲明,不能在塊級作用域聲明。

ES5 只有全局作用域和函數作用域,沒有塊級作用域,這帶來很多不合理的場景。

(1)內層變量可能會覆蓋外層變量。

    var tmp = new Date();
    function f() {
        console.log(tmp);
        if (false) {
            var tmp = 'hello world';
        }
    }
    f();//undefined

(2)用來計數的循環變量泄露為全局變量

    var s = 'hello';
    for (var i = 0; i < s.length; i++) {
        console.log(s[i]);//h e l l o
    }
    console.log(i);//5

變量i只用來控制循環,但是循環結束后,它并沒有消失,泄露成了全局變量。

示例如下:

// 瀏覽器的 ES6 環境
function f() { console.log('I am outside!'); }
(function () {
  if (false) {
    // 重復聲明一次函數f
    function f() { console.log('I am inside!'); }
  }
  f();
}());
// Uncaught TypeError: f is not a function

在ES6標準中,在塊級作用域中聲明函數,會將函數聲明當做由var聲明的變量,提升到塊級作用域頂部,只將函數當做變量進行變量名聲明,并不會聲明函數體,上述代碼相當于:

// 瀏覽器的 ES6 環境
function f() { console.log('I am outside!'); }
(function () {
  var f = undefined;
  if (false) {
    function f() { console.log('I am inside!'); }
  }
  f();
}());
// Uncaught TypeError: f is not a function

讀到這里,這篇“es6中引入的作用域是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

es6
AI

徐闻县| 礼泉县| 壤塘县| 闽侯县| 行唐县| 高陵县| 米脂县| 金乡县| 金门县| 亚东县| 明光市| 都匀市| 辰溪县| 辛集市| 望城县| 威宁| 高密市| 建昌县| 邯郸市| 中西区| 章丘市| 巩义市| 海原县| 新竹县| 务川| 韩城市| 堆龙德庆县| 府谷县| 洛南县| 花莲县| 贵港市| 嘉禾县| 宜春市| 新巴尔虎右旗| 新密市| 城步| 全州县| 郧西县| 顺平县| 台南市| 林口县|