成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - es6擴(kuò)展運(yùn)算符...的問題

瀏覽:162日期:2023-04-02 15:21:50

問題描述

javascript - es6擴(kuò)展運(yùn)算符...的問題

擴(kuò)展符復(fù)制數(shù)組我能理解,但用于函數(shù)傳遞參數(shù)的不懂

javascript - es6擴(kuò)展運(yùn)算符...的問題

如上,為什么函數(shù)參數(shù)加上擴(kuò)展運(yùn)算符以后,就能接受若干個(gè)參數(shù)?

fn(...arg)要怎么理解

問題解答

回答1:

函數(shù)定義的時(shí)候, 這應(yīng)該叫剩余參數(shù).

如果函數(shù)的最后一個(gè)命名參數(shù)以...為前綴,則在函數(shù)被調(diào)用時(shí),該形參會(huì)成為一個(gè)數(shù)組,數(shù)組中的元素都是傳遞給該函數(shù)的多出來的實(shí)參的值。

看 MDN 詳細(xì)解釋:https://developer.mozilla.org...

回答2:

你可以先看一下這個(gè)栗子javascript - es6擴(kuò)展運(yùn)算符...的問題

這里的...arg其實(shí)是獲取arguments的值,所以你方法可以改寫成這樣

function fn(){ var arg = [...arguments]; console.log(...arg);}回答3:

把a(bǔ)rguments轉(zhuǎn)換成數(shù)組

回答4:

官方解釋:

Bind trailing parameters to an array.

用在函數(shù)參數(shù)中,就是將此處開始的參數(shù)轉(zhuǎn)換成一個(gè)數(shù)組。

fn(...args)//所有參數(shù)變?yōu)閿?shù)組fn(a, ...args)//從第二個(gè)參數(shù)變?yōu)閿?shù)組回答5:

函數(shù)的形參本來就會(huì)保存到argument這個(gè)類數(shù)組里邊,...操作符可以把類數(shù)組轉(zhuǎn)成數(shù)組

回答6:

你需要ECMAScript 6 入門

回答7:

你可以理解為,fn(...arg) 是將參數(shù)的參數(shù),全部放置在arg這個(gè)數(shù)組里.不管你調(diào)這函數(shù)時(shí),傳多少個(gè)參數(shù),都可以由arg來獲取.

javascript - es6擴(kuò)展運(yùn)算符...的問題

回答8:

函數(shù)參數(shù)可以通過arguments這個(gè)類數(shù)組對象獲得,你傳入的任意多參數(shù)本質(zhì)上在函數(shù)內(nèi)部就是以類數(shù)組對象存在的,所以加上擴(kuò)展運(yùn)算符,只是把這個(gè)類數(shù)組變成了參數(shù)序列

標(biāo)簽: JavaScript
相關(guān)文章: