中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何使用es6函數之rest參數

發布時間:2020-08-03 09:45:43 來源:億速云 閱讀:186 作者:小豬 欄目:web開發

這篇文章主要講解了如何使用es6函數之rest參數,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

es6引入rest參數(形式為 …變量名),用于獲取函數的多余參數,這樣就不需要使用arguments對象了,rest參數搭配的變量是一個數組,該變量將多余的參數放入數組中。

function add (...values) {
 let sum = 0;
 for (var val of values) {
 sum += val
 }
 return sum
}

add(2, 3, 5) // 10

上面代碼的add函數是一個求和函數,利用rest參數,可以向該函數傳入任意數目的參數。

下面是一個rest參數代替arguments變量的例子。

// arguments變量的寫法
function sortNumbers() {
 return Array.prototype.slice.call(arguments).sort()
}

// rest參數的寫法
const sortNumbers = (...numbers) => numbers.sort()

上面代碼的兩種寫法,比較后可以發現,rest參數的寫法更自然也更簡潔。

arguments對象不是數組,而是一個類似數組的對象。所以為了使用數組的方法,必須使用Array.prototype.slice.call先將其轉為數組。rest參數就不存在這個問題,它就是一個真正的數組,數組特有的方法都可以使用。下面是一個利用rest參數改寫數組push方法的例子。

function push(array, ...items) {
 items.forEach(item => {
 array.push(item)
 })
}

var a = []
push(a, 1, 2, 3)

注意,rest參數之后不能再有其他參數(即只能是最后一個參數),否則會報錯

function f (a, ...b, c) {
 // ..
} // 報錯

函數的length屬性,不包括rest參數。

(function (a) {}).length // 1
(function (...a) {}).length // 0
(function (a, ...b) {}).length // 1

看完上述內容,是不是對如何使用es6函數之rest參數有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

个旧市| 资阳市| 黎城县| 乌鲁木齐县| 镇沅| 常宁市| 西峡县| 沅江市| 登封市| 平塘县| 中宁县| 融水| 新疆| 渭源县| 东安县| 读书| 荣成市| 多伦县| 荣昌县| 方山县| 墨竹工卡县| 徐汇区| 潢川县| 米泉市| 正定县| 七台河市| 沾化县| 沂南县| 宜宾县| 蒙自县| 屏东县| 焉耆| 东乌珠穆沁旗| 广州市| 郯城县| 清涧县| 凯里市| 延寿县| 崇信县| 富民县| 宜黄县|