<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      ES6新特性

      1let和const:
      作用域: 全局,函數, eval(只有在ES5的嚴格模式才會出現)
      const定義常量與使用let 定義的變量相似:
      • 二者都是塊級作用域
      • 都不能和它所在作用域內的其他變量或函數擁有相同的名稱
      兩者還有以下兩點區別:
      • const聲明的常量必須初始化,而let聲明的變量可以不用初始化
      • const 定義常量的值不能通過再賦值修改,也不能再次聲明,但是它定義的對象和數組可以通過屬性值或索引改變。而 let 定義的變量值可以修改。這是因為關鍵字 const 有一定的誤導性。它沒有定義常量值。const定義了對值的常量引用。因此,我們不能更改常量原始值,但我們可以更改常量對象的屬性。
      var和let在函數體內使用,它們在作用域都是局部的;
      var和let在函數體外或代碼塊外使用,它們的作用域都是全局的;
      代碼提升:var聲明的變量會提升到頂端,即可以在聲明變量之前就使用它,但是使用時它不會被初始化,它的值是undefined。
      通過let或const定義的變量不會被提升到頂端,在聲明let或const變量之前就使用它會導致ReferenceError。
       
      let不影響作用域鏈: let定義的變量,如果某作用域內沒有該變量的定義和聲明,那它會向外層去找let的定義,在循環中非常適用,而var不行,var定義循環的值會不受作用域的影響,從而影響每次變量的值的調用。
       
      2.解構賦值
      ES6允許按照一定模式從數組和對象中提取值,對變量進行賦值,這被稱為解構賦值
      數組的比較簡單。
      對于對象的解構賦值:它的解構賦值名字必須和對象中的屬性名相同。
      如上面的xiaopin就是相同的才可以解構賦值。
       
      3.引入新的聲明字符串的方式:``反引號

       

       主要方便了變量的拼接:  記得要在``中使用{}來將變量放在其中。 

       

      4.ES6簡化了對象的定義方法:

       

       比如上面的improve方法,原來是improve :function(){}, 省略了:function ,書寫更加方便了

       

      5箭頭函數  (=>) 等于號和大于號的結合體 

      ES6允許使用箭頭來定義函數;

      使用箭頭函數,this是靜態的,它始終指向函數在聲明時所在作用域下的this的值,所以使用call方法調用時,它的this值并不改變。 最重要的 特點

       

      直接調用的值都是 尚硅谷。

      call方法調用: 

      getName.call(school);// ATGUIGU,因為是getName這個函數調用的,school作為參數,成為了這個調用方法的主體,所以是school的屬性name

       getName2.call(school);// 尚硅谷 ,因為在 聲明時,getName2是在window作用域中聲明的,箭頭函數就指向聲明時的作用域。

      不能作為構造實例化對象;

      在箭頭函數中不能使用arguments變量;

      箭頭函數的簡寫:1 可以省略小括號,當 形參有且只有一個的時候

      2可以省略{},當代碼體只有一條語句的時候,此時return也必須省略,而且語句的執行結果就是函數的返回值。 

       

       

      6ES6允許給函數的形參賦值初始值 

       

       

      7rest參數

       

       

       

      8擴展運算符

       

       

              //symbol
              let s1 = Symbol();
              let s = Symbol('lala');
              let s2 = Symbol('lala');
              console.log(s === s2) // false

              let s4 = Symbol.for()
              let s5 = Symbol.for('out');
              let s6 = Symbol.for('out')
              let k1 = Symbol.for();
              let k2 = Symbol.for()
              // alert(k1 === k2)  //true
              console.log(s5 === s6) // true
              //  let resu=s1+100;  //error
              //  let res1=s1+'100';//error
              //  let res2=s1>100 ; //error

              //    Symbol 創建對象屬性
              //方法1
              let game = {
                  name: '俄羅斯方塊',
                  up: 'shang',
                  down: 'xia'
              }
              let methods = {
                  up: Symbol(),
                  down: Symbol()
              }
              game[methods.up] = function () {
                  console.log('我向上')
              }
              game[methods.down] = function () {
                  console.log('我立刻向下')
              }
              game[methods.up]();
              //方法2
              let youxi = {
                  name: '劇本殺',
                  [Symbol('say')]: function () {
                      console.log('我發言。')
                  },
                  [Symbol('tuili')]: function () {
                      console.log('我推理。。')
                  }
              }
              console.log(youxi);


              //需要自定義遍歷數據的時候要想到迭代器
              //迭代器 Iterator是一種接口,為各種不同的數據結構提供統一的訪問機制,任何數據結構主要
              //部署了Iterator接口,就可以完成遍歷操作。
              // 新的遍歷方法: for...of  
              //原理是創建了指針對象,用next調用起始位置,接下來不斷調用next方法,
              //指針一直往后移動,直到指到最后一個成員。 每次調用next方法返回一個包含value和done屬性的對象。  
              const xiyou = ['唐僧', '孫悟空', '豬八戒', '沙僧', '白龍馬']
              for (let v of xiyou) {
                  console.log(v)//唐僧, 孫悟空, 豬八戒, 沙僧, 白龍馬
              }
              for (let v in xiyou) {
                  console.log(v) // 01234
                  console.log(xiyou[v])//唐僧, 孫悟空, 豬八戒, 沙僧, 白龍馬
              }

              //自定義遍歷數據
              const f4 = {
                  name: 'EDG',
                  player: [
                      '777',
                      'uzi',
                      'Ming',
                      'xiaohu',
                      'theShy'
                  ],
                  [Symbol.iterator]() {
                      //索引變量
                      let index = 0;

                      return {
                          next: () => {
                              if (index < this.player.length) {
                                  const result = { value: this.player[index], done: false }
                                  index++;
                                  return result;
                              } else {
                                  return { value: undefined, done: true }
                              }
                          }
                      }
                  }

              }

              for (let v of f4) {
                  console.log(v)
              }

       9.promise  用于解決回調地獄

      Promise一共有三種狀態: 未決定的:pending; 成功:resolved、fulfilled ;失敗:rejected
      異步編程的新解決方案。多層回調函數的相互嵌套, 就形成了回調地獄, promise就用于解決這個問題.
      因為promise支持鏈式調用即 .then()方法,鏈式調用就是從上往下的回調,所以解決了回調地獄。
      promise.race()只要完成一個異步操作,就會執行下一步的.then操作(賽跑機制)
      promise.all() 等所有的異步操作完成后,才會執行下一步的.then操作(等待機制)
      async 和await 用來簡化promise的異步操作, 而且得到的結果是相應文件的內容了.

       

      10.set   集合  typeof是對象

      可以將數組轉化為這個數據結構,然后會自動去重,再用擴展運算符... 把它轉回數組 。

       let arr= [2,3,1,77,77,8,8,2,3,5] 

      let newArr=[...new Set(arr)] 

      console.log(newArr) // [2,3,1,77,8,5] 

       

       

       

       

       

       

       

       

      posted @ 2022-03-11 22:05  我的貓在哪里  閱讀(129)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产三级a三级三级| 国产精品日韩av在线播放| 国产在线一区二区在线视频| 日韩精品无码区免费专区| 国产无套内射普通话对白| 亚洲人成电影网站 久久影视| 公喝错春药让我高潮| 精品国产免费第一区二区三区| 精品一区二区三区少妇蜜臀| 无码福利写真片视频在线播放| 国产成人精品a视频一区| 亚洲成亚洲成网| 色综合 图片区 小说区| 欧美xxxx做受欧美.88| 久久久无码精品亚洲日韩蜜臀浪潮| 91亚洲人成手机在线观看| 国产亚洲国产精品二区| 精品人妻伦一二二区久久| 亚洲国产成人av在线观看| 国产91丝袜在线观看| 精品国产一区二区三区蜜臀| 亚洲精品成人一二三专区| 色丁香一区二区黑人巨大| 在线看无码的免费网站| 天天爱天天做天天爽夜夜揉| 日本三级香港三级人妇99| 白嫩少妇激情无码| 亚洲岛国成人免费av| 国产麻豆精品一区一区三区| 永久无码天堂网小说区| 亚洲av成人区国产精品| 精品人妻中文字幕av| 欧美人成精品网站播放| 亚洲日本va午夜中文字幕久久| 国精品午夜福利视频不卡| 国产成人午夜福利在线播放| 亚洲精品国偷自产在线| 黑人异族巨大巨大巨粗| 国产成人黄色自拍小视频| 中文字幕理伦午夜福利片| 襄樊市|