1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      ES6函數(shù)參數(shù)解構-創(chuàng)新互聯(lián)

      ES6函數(shù)參數(shù)解構

      常規(guī)的JavaScript若要給函數(shù)傳遞的參數(shù)是一個對象,需要像下面這樣來實現(xiàn):

      站在用戶的角度思考問題,與客戶深入溝通,找到祥云網(wǎng)站設計與祥云網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、空間域名、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋祥云地區(qū)。
      function sayName(person) {
        if(Object.prototype.toString.call(person) == '[object Object]') {
          console.log( `${person.firstName} ${person.lastName}`);    
        }
      }
      sayName({firstName: 'Stephen', lastName: 'Curry'});

      在函數(shù)內(nèi)部通過對象屬性的形式來獲取值。

      采用ES6解構的方式可以更加直觀便捷地為函數(shù)傳遞對象參數(shù)。
      先要明確對象解構的幾點基本知識:

      1.ES6的對象可以實現(xiàn)簡寫

      const firstName = 'Stephen';
      const lastName = 'Curry';
      const person = {
        firstName,
        lastName,
      }
      console.log(person.firstName + ' ' + person.lastName); // Stephen Curry

      這里的對象寫法就等同于下面的寫法:

      const person = {
        firstName: firstName,
        lastName: lastName,
      }

      2.ES6的解構是用來給變量賦值的

      const person = {
        firstName: 'Stephen',
        lastName: 'Curry',
      };
      const {firstName, lastName} = person;
      console.log(firstName + ' ' + lastName);

      結合 1 ,這里的 {firstName, lastName}實際上就是 {firstName: firstName, lastName: lastName},在這個對象里,顯然冒號后面的屬性值才是我們需要賦值的變量,解構會在右側表達式對象中找到和左側對象相同的屬性名,以該屬性值為對應變量賦值,如果沒找到,那么該變量值為undefined。

      有了上述的兩點,我們可以將對象解構應用到為函數(shù)傳遞參數(shù)上

      function sayName({ firstName, lastName }) {
        console.log( firstName + ' ' + lastName );// 注意這里可以直接訪問到兩個解構賦值的變量
      }
      let person = {
        firstName: 'Stephen',
        lastName: 'Curry'
      }
      sayName(person); // Stephen Curry

      還可以給參數(shù)提供默認初始值:

      function sayName({ firstName = 'foo', lastName = 'bar'} = {}) {
        console.log( firstName + ' ' + lastName );
      }
      let person = {
       wrongFirstName: 'Stephen',
        lastName: 'Curry'
      }
      sayName(person); // foo Curry

      思考一下下面這種寫法:

      function sayName({ firstName, lastName = 'bar'} = {firstName: 'lebron'}) {
        console.log( firstName + ' ' + lastName );
      }
      sayName(); // lebron bar

      看起來像是也達到了提供參數(shù)默認值的效果,但是原因是右邊的firstName會作為對象解構賦值給左邊的firstName,這并不是函數(shù)參數(shù)的默認值;
      下面的例子中,傳遞的參數(shù)person會直接取代右邊的{firstName: 'lebron'},然后被當作真正的解構賦值對象。

      function sayName({ firstName, lastName = 'bar' } = {firstName: 'lebron'}) {
        console.log( firstName + ' ' + lastName );
      }
      let person = {
       wrongFirstName: 'Stephen',
        lastName: 'Curry'
      }
      sayName(person); // undefined Curry

      另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


      本文名稱:ES6函數(shù)參數(shù)解構-創(chuàng)新互聯(lián)
      當前地址:http://www.ef60e0e.cn/article/gjdpo.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        花垣县| 延吉市| 瓮安县| 阿鲁科尔沁旗| 荔浦县| 扎赉特旗| 大渡口区| 沙河市| 隆回县| 安吉县| 揭东县| 台山市| 惠水县| 攀枝花市| 财经| 贵南县| 渝中区| 林州市| 茌平县| 孟村| 当阳市| 江孜县| 额尔古纳市| 屯门区| 莱芜市| 伊宁市| 伽师县| 永靖县| 五指山市| 专栏| 鲜城| 车致| 南昌县| 浦北县| 来凤县| 农安县| 武邑县| 南通市| 四川省| 鄢陵县| 三江|