最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ES6新語法之解構(gòu)實踐指南

 更新時間:2022年06月16日 10:53:57   作者:言不及行yyds  
所謂解構(gòu)就是解構(gòu)聚合數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于ES6新語法之解構(gòu)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

1.解構(gòu)初了解

解構(gòu)是ES6的一個新的語法特性,可以把他看作是一個

具有結(jié)構(gòu)賦值功能的一個語法。

關(guān)于解構(gòu)通常有倆種,有數(shù)組解構(gòu)和對象解構(gòu)

解構(gòu)有什么優(yōu)點嗎?為什么我們用他。

ok,讓我們用一個例子來顯示一下解構(gòu)的優(yōu)點

定義一個函數(shù),返回一個數(shù)組(含3個數(shù)),用a,b,c來接受。

1.用平常的語法

function foo(){
            return [1,2,3]
        }
var temp=foo(),
a=temp[0],b=temp[1],c=temp[2]
console.log(a,b,c)

構(gòu)造一個函數(shù)手動賦值,用一個臨時變量temp,將值傳遞給a,b,c

2.用解構(gòu)的方法

  function foo(){
      return [1,2,3]
      }
   var [a,b,c]=foo()
  console.log(a,b,c)

在輸出的結(jié)果都是一樣,都輸出(1,2,3)

所以你怎么選。

2.解構(gòu)詳細解析

2.1對象屬性賦值形式

相比于之前的賦值形式我們都熟悉與=a的賦值形式

但是解構(gòu)語法翻轉(zhuǎn)了這種形式,,左側(cè)變量作為一個“模式”

用于將右側(cè)的數(shù)組賦值給左側(cè)的變量

接著討論一下在上面{a,b,c}其實是{a:a,b:b,c:c}的簡寫。

那么在賦值的時候省略的部分是a:   還是 :a

在這我們就需要去了解對象屬性賦值形式

function foo(){
      return {a:4,b:5,c:6}
    }
var { a:aitem,b:bitem,c:citem }=foo()
     
 console.log(aitem,bitem,citem)
 
 var x=10,y=20
 var o={d:x,e:y}
 console.log(o.d,o.e)

 現(xiàn)在我們大概能明白了吧,

用一張圖來解釋

a27775d61b604a1a92f718a3bc62eafe.png

2.2變量的聲明

在前面我們看到了使用var聲明變量,其實也可以使用let,const聲明

也可以通過IEIF的形式賦值比如({x,y,z}=bar())

 好的,那么關(guān)于變量的話,他只能被設(shè)置為變量標識符嗎?

這種想法是愚蠢的,任何合法的賦值表達式都可以

用兩個例子來解析

2.3怎么解構(gòu)

記住一個原則,對稱解構(gòu)。

1.解構(gòu)的過多

 怎么理解,就是左右的賦值不對稱,并不是所有的值都用來解構(gòu),

多余的值會被設(shè)置為undefinder

2解構(gòu)的過少

右側(cè)的"變量"多余左側(cè)的變量

3.解構(gòu)正好

左右變量相等

 數(shù)組的解構(gòu)是按順序排列的,變量的取值有他的位置決定

對象的解構(gòu),對象的屬性沒有次序,變量必須與屬性同名,才能取到正確的值,對象的解構(gòu)賦值的內(nèi)部機制,是先找到同名屬性,然后再賦給對應(yīng)的變量。真正被賦值的是后者,而不是前者

3.實踐

3.1數(shù)組的解構(gòu)

var a1=[1,[2,3,[4]],5]
var [a,[b,c,[d]],e]=a1
console.log(a,b,c,d,e)

輸出1,2,3,4,5

在這里采用重復(fù)解構(gòu)的形式,解構(gòu)的形式就是從內(nèi)向外依次解構(gòu)

3.2對象的解構(gòu)

var  o1={a:{b:{c:6}}}
var {a:{b:{c:w}}}=o1
console.log(w)

輸出6

3.3解構(gòu)參數(shù)

 function foo({x,y}){
        console.log(x.y)
    }
console.log(3,4)

輸出3,4,如果是console.log(3)的話會報錯,但是x的值是已經(jīng)解構(gòu)的

3.4復(fù)雜解構(gòu)

let wangfei = {
name: "王菲",
   age: 18,
  songs: ["紅豆", "流年", "曖昧", "傳奇"],
  history: [{ name: "竇唯" }, { name: "李亞鵬" }, { name: "謝霆鋒" }],
};
 
let {
   songs: [one, two, three],
  history: [first, second, third],
} = wangfei;
console.log(one, two, three,first, second, third)

44485beae5484ba78a5e2b0028e70e36.png

 4.總結(jié)

1.了解了解構(gòu)的含義,及優(yōu)點

2.學(xué)會了解構(gòu)對象屬性賦值的形式

3.了解了一些解構(gòu)的技巧

4.用幾個例子來動手實踐。

到此這篇關(guān)于ES6新語法之解構(gòu)的文章就介紹到這了,更多相關(guān)ES6新語法解構(gòu)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Javascript異步編程模型Promise模式詳細介紹

    Javascript異步編程模型Promise模式詳細介紹

    異步模式在 Web 編程中變得越來越重要,如何處理異步請求后的操作是一件麻煩事。Promise 是一種異步編程模型,術(shù)語稱作 Deferred 模式,它通過一組API來規(guī)范化異步操作,讓異步操作的流程控制更加容易。
    2014-05-05
  • javascript記錄文本框內(nèi)文字個數(shù)檢測文字個數(shù)變化

    javascript記錄文本框內(nèi)文字個數(shù)檢測文字個數(shù)變化

    要對文本框中用戶輸入的文字進行記數(shù),在下面顯示出來,經(jīng)研究找到個不錯的方法,可以完美解決在刪除文字后,字數(shù)變化問題
    2014-10-10
  • 微信小程序?qū)崿F(xiàn)image組件圖片自適應(yīng)寬度比例顯示的方法

    微信小程序?qū)崿F(xiàn)image組件圖片自適應(yīng)寬度比例顯示的方法

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)image組件圖片自適應(yīng)寬度比例顯示的方法,簡單講述了image組件的常用屬性,并結(jié)合實例形式分析了微信小程序?qū)崿F(xiàn)圖片自適應(yīng)寬度比例的相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • javascript中使用正則表達式清理table樣式的代碼

    javascript中使用正則表達式清理table樣式的代碼

    本文給大家講解的是使用javascript實現(xiàn)去除多余的TABLE的樣式,主要通過結(jié)合正則表達式來實現(xiàn),非常的簡單實用,有需要的小伙伴可以參考下。
    2015-07-07
  • JavaScript鍵盤事件響應(yīng)順序詳解

    JavaScript鍵盤事件響應(yīng)順序詳解

    這篇文章主要為大家詳細介紹了JavaScript鍵盤事件響應(yīng)順序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Echarts圖表位置調(diào)整的圖文教程

    Echarts圖表位置調(diào)整的圖文教程

    實際過程中你會發(fā)現(xiàn)圖表在div中的位置不太理想,這時怎么去調(diào)整呢?下面這篇文章主要給大家介紹了關(guān)于Echarts圖表位置調(diào)整的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • 異步安全加載javascript文件的方法

    異步安全加載javascript文件的方法

    這篇文章主要介紹了異步安全加載javascript文件的方法,實例分析了javascript實現(xiàn)文件異步加載的具體技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • JavaScript對象合并實現(xiàn)步驟介紹

    JavaScript對象合并實現(xiàn)步驟介紹

    這篇文章主要介紹了JavaScript對象合并實現(xiàn)步驟,為什么要合并?這是我在重構(gòu)代碼的時候的一個需求。簡單來說,我會有若干個對象需要合并為一個對象。而這些對象為兩層,如果直接展開或者賦值會涉及到深拷貝
    2023-01-01
  • 微信小程序基于本地緩存實現(xiàn)點贊功能的方法

    微信小程序基于本地緩存實現(xiàn)點贊功能的方法

    這篇文章主要介紹了微信小程序基于本地緩存實現(xiàn)點贊功能的方法,涉及微信小程序界面布局、事件響應(yīng)及緩存操作等相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-12-12
  • self.attachevent is not a function的解決方法

    self.attachevent is not a function的解決方法

    今天一個客戶用chrome瀏覽器訪問網(wǎng)站,他的網(wǎng)站js提示self.attachevent is not a function,這個問題就是這個瀏覽器不支持attachevent,可以通過如下方法解決了,分享一下,需要的朋友可以參考下
    2017-04-04

最新評論

嘉定区| 济源市| 察雅县| 香港 | 常熟市| 枝江市| 玛沁县| 瑞金市| 娱乐| 萍乡市| 滦南县| 孝感市| 类乌齐县| 利川市| 通海县| 洮南市| 潜江市| 江门市| 苏州市| 亳州市| 老河口市| 平果县| 龙州县| 郴州市| 砚山县| 图木舒克市| 资源县| 曲靖市| 庆阳市| 新闻| 城市| 容城县| 河西区| 西安市| 白银市| 平定县| 安岳县| 万州区| 南安市| 连江县| 台湾省|