国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

es6學(xué)習(xí)---函數(shù)使用

Hwg / 3244人閱讀

摘要:同時(shí)剩余參數(shù)也能和配合使用對象總能正確反映被傳入函數(shù)的參數(shù),而無視剩余參數(shù)的使用擴(kuò)展運(yùn)算符與剩余參數(shù)關(guān)聯(lián)最密切的就是擴(kuò)展運(yùn)算符。

帶參數(shù)默認(rèn)值的函數(shù)

1 es5中模擬函數(shù)默認(rèn)值

function makeRequest(url,timeout,callback){
    timeout = timeout || 2000;
    callback= callback || function(){};
    //瑕疵 timeout有效值為0的情況,會導(dǎo)致timeout的值被替換為2000
}

改進(jìn)后的代碼

function makeRequest(url,timeout,callback){
    timeout = (typeof timeout !== "undefined") ? timeout : 2000
    callback= (typeof callback !== "undefined") ? callback : function(){}
    //瑕疵 書寫了過多的代碼
}

2 es6能更容易為參數(shù)提供默認(rèn)值,它使用了初始化的形式,以便在參數(shù)未被正式傳遞進(jìn)來時(shí)使用。

function makeRequest(url,timeout=2000,callback=function(){})

只有在未傳遞參數(shù),或明確將第二個參數(shù)指定為undefined時(shí),timeout的默認(rèn)值才會被使用,即便傳遞null也不會使用timeout的默認(rèn)值

使用不具名參數(shù)

先來看下es5中的不具名參數(shù)的實(shí)現(xiàn)

function pick(object){
    let result = Object.create(null);
    //從第二個參數(shù)開始處理
    for(let i=1,len = arguments.length;i

為了解決上述問題,es6引入剩余參數(shù)來解決問題
剩余參數(shù)由三個點(diǎn)(...)與一個緊跟著的具名參數(shù)指定,它會是包含傳遞給函數(shù)的
其余參數(shù)的一個數(shù)組。

function pick(object,...keys){
    let result = Object.create(null);
    //從第二個參數(shù)開始處理
    for(let i=0,len = keys.length;i

當(dāng)然剩余參數(shù)有些限制條件
1 一個函數(shù)只能有一個剩余參數(shù),并且必須被放在最后
2 剩余參數(shù)不能再對象字面量的setter屬性中使用。因?yàn)閷ο笞置媪康膕etter被限定只能使用單個參數(shù)。

同時(shí)剩余參數(shù)也能和arguments配合使用
arguments對象總能正確反映被傳入函數(shù)的參數(shù),而無視剩余參數(shù)的使用

擴(kuò)展運(yùn)算符

與剩余參數(shù)關(guān)聯(lián)最密切的就是擴(kuò)展運(yùn)算符。剩余參數(shù)允許你把多個獨(dú)立的參數(shù)合并到一個數(shù)組,而擴(kuò)展運(yùn)算符則允許將一個數(shù)組分隔,并將各個項(xiàng)作為分離的參數(shù)傳遞給函數(shù)

es6前的寫法

let values = [25,50,75,100]
console.log(Math.max.apply(Math,values))

用擴(kuò)展運(yùn)算符的寫法

let values = [25,50,75,100]
console.log(Math.max(...values))

--未完待續(xù)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/89031.html

相關(guān)文章

  • ES6-7

    摘要:的翻譯文檔由的維護(hù)很多人說,阮老師已經(jīng)有一本關(guān)于的書了入門,覺得看看這本書就足夠了。前端的異步解決方案之和異步編程模式在前端開發(fā)過程中,顯得越來越重要。為了讓編程更美好,我們就需要引入來降低異步編程的復(fù)雜性。 JavaScript Promise 迷你書(中文版) 超詳細(xì)介紹promise的gitbook,看完再不會promise...... 本書的目的是以目前還在制定中的ECMASc...

    mudiyouyou 評論0 收藏0
  • 前端基礎(chǔ)進(jìn)階(十四):es6常用基礎(chǔ)合集

    摘要:在繼承的構(gòu)造函數(shù)中,我們必須如上面的例子那么調(diào)用一次方法,它表示構(gòu)造函數(shù)的繼承,與中利用繼承構(gòu)造函數(shù)是一樣的功能。 showImg(https://segmentfault.com/img/remote/1460000009078532); 在實(shí)際開發(fā)中,ES6已經(jīng)非常普及了。掌握ES6的知識變成了一種必須。盡管我們在使用時(shí)仍然需要經(jīng)過babel編譯。 ES6徹底改變了前端的編碼風(fēng)格,...

    Ryan_Li 評論0 收藏0
  • ES6學(xué)習(xí)總結(jié)(二)

    摘要:關(guān)于的學(xué)習(xí)總結(jié)昨天寫了第一篇,主要是關(guān)于變量聲明關(guān)鍵字和,新增類型以及模板字符串,今天準(zhǔn)備寫第二篇,里面的函數(shù)部分,新增了箭頭函數(shù),參數(shù)以及參數(shù)默認(rèn)值。,這次我們在調(diào)用函數(shù)大的時(shí)候,兩個參數(shù)全部傳遞了值,因此返回。 關(guān)于ES6的學(xué)習(xí)總結(jié),昨天寫了第一篇,主要是關(guān)于變量聲明關(guān)鍵字let和const,新增類型Symbol以及模板字符串,今天準(zhǔn)備寫第二篇,ES6里面的函數(shù)部分,ES6新增了箭...

    microelec 評論0 收藏0
  • [譯] 在你學(xué)習(xí) React 之前必備的 JavaScript 基礎(chǔ)

    摘要:前言在理想的狀態(tài)下,你可以在深入了解之前了解和開發(fā)的所有知識。繼承另一個類的類,通常稱為類或類,而正在擴(kuò)展的類稱為類或類。這種類型的組件稱為無狀態(tài)功能組件。在你有足夠的信心構(gòu)建用戶界面之后,最好學(xué)習(xí)。 原文地址:JavaScript Basics Before You Learn React 原文作者: Nathan Sebhastian 寫在前面 為了不浪費(fèi)大家的寶貴時(shí)間,在開...

    Chaz 評論0 收藏0
  • ES6學(xué)習(xí)摘要(01)(新人學(xué)習(xí)

    摘要:入門一前言由于最近本人在學(xué)習(xí),做一些筆記能夠更好的熟悉,就趁此機(jī)會來寫一篇關(guān)于的新人學(xué)習(xí)摘要吧。的作用域與命令相同只在聲明所在的塊級作用域內(nèi)有效。塊級作用域新增方式和實(shí)際上為新增了塊級作用域。同時(shí),函數(shù)聲明還會提升到所在的塊級作用域的頭部。 ECMAScript6/ES6 入門 一、前言 由于最近本人在學(xué)習(xí)ES6,做一些筆記能夠更好的熟悉,就趁此機(jī)會來寫一篇關(guān)于ES6的新人學(xué)習(xí)摘要吧。...

    dmlllll 評論0 收藏0

發(fā)表評論

0條評論

Hwg

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<