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

溫馨提示×

溫馨提示×

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

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

如何使用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

五原县| 千阳县| 康保县| 佳木斯市| 盐池县| 聂荣县| 天门市| 汝州市| 镇沅| 桓台县| 阜新| 泰州市| 乌恰县| 大渡口区| 沽源县| 都昌县| 大邑县| 西宁市| 吉木萨尔县| 兴海县| 伽师县| 介休市| 右玉县| 上虞市| 芜湖县| 凤城市| 江都市| 嘉兴市| 夏津县| 泗阳县| 葵青区| 定边县| 梧州市| 安义县| 视频| 宜州市| 鸡东县| 陇川县| 安宁市| 镇江市| 金阳县|