91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ES6中參數的默認值語法介紹

發布時間:2020-09-26 08:33:26 來源:腳本之家 閱讀:214 作者:蕭然自我 欄目:web開發

前言

在ES6如果函數參數沒有值或未定義的,默認函數參數允許將初始值初始化為默認值。下面來看看詳細的介紹吧。

語法

function [name]([param1[ = defaultValue1 ][, ..., paramN[ = defaultValueN ]]]) 
{
 statements
}

描述

在JavaScript中,函數默認參數定義。然而,在某些情況下,設置不同的默認值可能是有用的。這是默認參數可以幫助的地方。

在過去,設置默認值的一般策略是在函數體中測試參數值,如果它們是未定義的就分配一個值。如果在下面的例子中,在調用過程中b沒有提供值,它的值將是undefined 當對 a*b 求值并且調用這個乘法的時候將返回NaN。

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

return a*b;
}

multiply(5); // 5

在ES6中設置默認參數,對函數體的檢查是不必須的了。現在,你可以簡單的在函數頭設置默認值:

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

multiply(5); // 5

例子

通過未定義

在第二個函數調用中,即使第二個參數明確地被設置為undefined(雖然不是null),但是這個函數的顏色參數有一個默認值。

function setBackgroundColor(element, color = 'rosybrown') {
 element.style.backgroundColor = color;
}

setBackgroundColor(someDiv);   // color set to 'rosybrown'
setBackgroundColor(someDiv, undefined); // color set to 'rosybrown' too
setBackgroundColor(someDiv, 'blue'); // color set to 'blue'

調用時求值

默認參數在調用時計算的,所以不像在Python中,一個新的對象是每次調用函數創建。

function append(value, array = []) {
array.push(value);
return array;
}

append(1); //[1]
append(2); //[2], not [1, 2]

甚至適合于函數和變量

function callSomething(thing = something()) { return thing }

function something(){
 return "sth";
}

callSomething(); //sth

默認參數可以提供給以后的默認參數

已經遇到的參數可以提供給以后的默認參數:

function singularAutoPlural(singular, plural = singular+"s",
       rallyingCry = plural + " ATTACK!!!") {
 return [singular, plural, rallyingCry ];
}

//["Gecko","Geckos", "Geckos ATTACK!!!"]
singularAutoPlural("Gecko");

//["Fox","Foxes", "Foxes ATTACK!!!"]
singularAutoPlural("Fox","Foxes");

//["Deer", "Deer", "Deer ... change."]
singularAutoPlural("Deer", "Deer", "Deer peaceably and respectfully
 petition the government for positive change.")

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

明溪县| 深泽县| 汶川县| 休宁县| 芜湖市| 乌拉特前旗| 张家川| 射洪县| 山阴县| 大足县| 井陉县| 莒南县| 银川市| 海城市| 都江堰市| 多伦县| 平度市| 三穗县| 洛浦县| 当雄县| 澎湖县| 南和县| 霍州市| 方正县| 峨边| 罗江县| 邵阳市| 孟州市| 泗洪县| 邵武市| 丰镇市| 剑河县| 周口市| 育儿| 瓮安县| 北安市| 若羌县| 泰安市| 和平区| 三亚市| 蒙城县|