<strike id="uohm1"></strike>
  • <label id="uohm1"><sub id="uohm1"><rt id="uohm1"></rt></sub></label>
  • <ol id="uohm1"><optgroup id="uohm1"></optgroup></ol>
    <label id="uohm1"><sub id="uohm1"><rt id="uohm1"></rt></sub></label><label id="uohm1"></label>

  • <label id="uohm1"></label><label id="uohm1"></label>

    ES6語法入門 之開門見山

    2018-04-14 關鍵詞:蘇州網站制作  蘇州做網站  蘇州網站開發  蘇州網絡公司   4408

    今天開始一起來了解下Es6這個技術知識點,這樣我們自己也可以總結和學習,也算一個好的開始和堅持。ECMAScript 6(以下簡稱ES6)是JavaScript語言的下一代標準。因為當前版本的ES6是在2015年發布的,所以又稱ECMAScript 2015。也就是說,ES6就是ES2015。

    雖然目前并不是所有瀏覽器都能兼容ES6全部特性,但越來越多的程序員在實際項目當中已經開始使用ES6了。所以就算你現在不打算使用ES6,但為了看懂別人寫的代碼你也必須要懂ES6的語法了...之前用的,你所熟悉的js語法是es5標準,現在是es6標準,恩就這么多。

    ES6 常見語法

    let, const, class, extends, super, arrow functions, template string, destructuring, default, rest arguments
    這些是ES6最常用的幾個語法,基本上學會它們,我們就可以走遍天下都不怕啦!我會用最通俗易懂的語言和例子來講解它們,保證一看就懂,一學就會。

    但是ES6那么多那么多特性,我們需要全部都掌握嗎?秉著二八原則,掌握好常用的,有用的這個可以讓我們快速掌握。今天跟蘇州網絡公司小編來學最基礎的 也是最有特點的  let, const

    1.變量聲明 const 和 let

    我們都是知道在ES6以前,var關鍵字聲明變量。無論聲明在何處,都會被視為聲明在函數的最頂部(不在函數內即在全局作用域的最頂部)。這就是函數變量提升例如:

      function aa() {    
      if(bool) {       
           var test = 'hello man'
       } else {       
            console.log(test)
        }
      }
    以上的代碼實際上是:

      function aa() {    var test // 變量提升
        if(bool) {
            test = 'hello man'
        } else {        
      
      //此處訪問test 值為undefined
            console.log(test)
        }    //此處訪問test 值為undefined
      }
    所以不用關心bool是否為true or false。實際上,無論如何test都會被創建聲明。

    接下來ES6主角登場:
    我們通常用let和const來聲明,let表示變量、const表示常量。let和const都是塊級作用域。怎么理解這個塊級作用域?

    在一個函數內部
    在一個代碼塊內部
    說白了 {}大括號內的代碼塊即為let 和 const的作用域。
    看以下代碼:

      function aa() {    
          if(bool) {      
           let test = 'hello man'
        } else {        //test 在此處訪問不到
            console.log(test)
        }
      }
    let的作用域是在它所在當前代碼塊,但不會被提升到當前函數的最頂部。

    再來說說const。

        const name = 'lux'
        name = 'joe' //再次賦值此時會報錯
    說一道面試題

        var funcs = []    
        for (var i = 0; i < 10; i++) {
            funcs.push(function() { console.log(i) })
        }
        funcs.forEach(function(func) {
            func()
        })
    這樣的面試題是大家常見,很多同學一看就知道輸出 10 十次
    但是如果我們想依次輸出0到9呢?兩種解決方法。直接上代碼。

        // ES5告訴我們可以利用閉包解決這個問題
        var funcs = []    
        for (var i = 0; i < 10; i++) {
            func.push((function(value) {            
                return function() {              
                
                  console.log(value)
                }
            }(i)))
        }    
        // es6
        for (let i = 0; i < 10; i++) {
            func.push(function() {           
         console.log(i)
            })
        }
    達到相同的效果,es6簡潔的解決方案是不是更讓你心動?。?!想要了解的更多可以去莫度上去找哦,你懂的。
    首頁 網站建設 小程序 品牌設計 服務項目 案例展示 售后保障 聯系方式 新聞中心 關于我們 人才招聘
    我們的優勢

    細致入微的前期服務
    精準的策劃服務
    精湛的網頁設計
    穩定 可靠 極速的域名和服務器
    任何問題,24小時回復并處理

    版權所有:蘇州謝謝網絡傳媒有限公司  蘇ICP備11087090號   

    首頁 電話 服務項目
    久久久国产99久久国产久首页|真人无码视频|免费一级无码婬片A|国产激情久久久久影院老熟女|伊人热热久久原色播放www
    <strike id="uohm1"></strike>
  • <label id="uohm1"><sub id="uohm1"><rt id="uohm1"></rt></sub></label>
  • <ol id="uohm1"><optgroup id="uohm1"></optgroup></ol>
    <label id="uohm1"><sub id="uohm1"><rt id="uohm1"></rt></sub></label><label id="uohm1"></label>

  • <label id="uohm1"></label><label id="uohm1"></label>