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

資訊專欄INFORMATION COLUMN

js函數的默認參數(default parameter)

XanaHopper / 2253人閱讀

摘要:函數的默認參數函數參數的默認值都是,里,不支持直接在形參里寫默認值。所以,要設置默認值,就要檢測參數是否為,按需求賦值。

js函數的默認參數(default parameter)

js函數參數的默認值都是undefined, ES5里,不支持直接在形參里寫默認值。所以,要設置默認值,就要檢測參數是否為undefined,按需求賦值。

function multiply(a, b) {
  b = typeof b !== "undefined" ?  b : 1;

  return a*b;
}

multiply(5); // 5
multiply(5, 0); // 0

上面是MDN的相關例子,是比較嚴謹的寫法。不推薦下面的寫法:

function multiply(a, b) {
  b = b ?  b : 1;  // b = b || 1;

  return a*b;
}

multiply(5); // 5
multiply(5, 0); // 5

因為,在布爾類型環境中undefined, 0, "", NaN, null會被轉換成 false。

進一步,還可以先利用arguments對象,再設置默認值 :

function multiply(a) {
  var b = typeof arguments[1] !== "undefined" ? arguments[1] : 1;

  return a*b;
}

 multiply(5); // 5
 multiply(5, 0); // 0

ES6里已經支持默認參數了,直接寫就好啦:

function multiply(a, b = 1) {
  return a*b;
}

multiply(5); // 5

ES6還支持解構賦值來設置默認參數:

jQuery.ajax = function (url, {
  async = true,
  beforeSend = function () {},
  cache = true,
  complete = function () {},
  crossDomain = false,
  global = true,
   // ... more config
}) {
   // ... do stuff
};

更詳細的介紹,請看阮一峰的ECMAScript 6 入門的函數的拓展。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/82728.html

相關文章

  • [譯]Loadtest庫做負載測試

    摘要:在選定的或者上進行負載測試,允許在你自己的測試里輕松集成。使用提供的非常容易整合到你的包里進行編程負載測試。在部署新版本軟件之前,使運行負載測試成為系統測試的一部分變得非常容易。 前言 因為最近學習需要用到一些測試庫測試性能,但是工具又太復雜不好用,恰好發現有這么一個庫用法輸出都很近似,可惜沒有找到有中文版或者用法筆記,所以只好耐心一點一點翻譯出來。因為我的英文水平很一般,而這種技術博...

    asoren 評論0 收藏0
  • Laravel核心——Ioc服務容器源碼解析(服務器解析)

    摘要:而函數作用是加載延遲服務,與容器解析關系不大,我們放在以后再說。在構造之前,服務容器會先把放入中,繼而再去解析。利用服務容器解析依賴的參數。 make解析 首先歡迎關注我的博客: www.leoyang90.cn 服務容器對對象的自動解析是服務容器的核心功能,make 函數、build 函數是實例化對象重要的核心,先大致看一下代碼: public function make($abst...

    hearaway 評論0 收藏0
  • 騰訊 AlloyTeam 移動 Web 裁剪組件 AlloyCrop 正式開源

    摘要:兼容性如何支持以及的設備的瀏覽器便可運行不一一列舉一共不到行為什么體積這么小騰訊手內大量的都會去不斷地從各個維度進行性能優化。騰訊內部有哪些項目在用目前主要是興趣部落群等業務在用,剛剛開源出來,只要有裁剪圖片的地方都會用到。 傳送門 Github地址:https://github.com/AlloyTeam/AlloyFinger/tree/master/alloy_crop 在線De...

    yexiaobai 評論0 收藏0
  • ES6 中模式匹配和默認參數

    摘要:中,引入了其他很多語言都具備的模式匹配和默認參數語法糖,使得代碼簡潔了不少。模式匹配中需要注意的觸發默認值如下所示右側的元素會觸發左側的默認值。 ES6 中,引入了其他很多語言都具備的模式匹配和默認參數語法糖,使得代碼簡潔了不少。但是使用的時候還是有些細節需要注意。 模式匹配原理 模式匹配的種類 具體來說,有三種類型的模式匹配: 直接賦值 let a = 1; 對象模式 let...

    Loong_T 評論0 收藏0
  • ES6對函數改動

    摘要:改動函數的改變不算太大,都是一些其他語言早就有的功能,而一直比較欠缺的,比如函數參數默認值,任意參數的表示法,最大的變化應該是支持箭頭函數其他語言稱之為表達式,一種對匿名函數的一種簡寫方式,以下來探討一下函數在中的一些改變默認參數任意參數操 ES6 functions改動 ????ES6函數的改變不算太大,都是一些其他語言早就有的功能,而Javascript一直比較欠缺的,比如函數參數...

    kk_miles 評論0 收藏0

發表評論

0條評論

XanaHopper

|高級講師

TA的文章

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