arguments類數(shù)組對象:
參考資料
1.arguments類數(shù)組對象是一種特殊的對象,它有數(shù)組的一部分屬性(比如length,index)但是數(shù)組的push和pop對象是不適用的,用typeof arguments返回為object但其中的元素存儲方式為數(shù)組的形式
. 作用:可以通過使用argument對象讓函數(shù)能夠調(diào)用數(shù)量不定的參數(shù),解決輸入元素不確定的函數(shù)調(diào)用問題
例:求任意多個(gè)數(shù)的和?
function addAll() {
console.log(arguments); //輸出arguments
let total = 0;
for(let i=0;i<arguments.length;i++) {
total += arguments[i];
}
return total;
}
console.log(addAll(1,2,3));
Cosole
[object Arguments]
{
0: 1,
1: 2,
2: 3
}
可以看出arguments中數(shù)據(jù)存放的形式為數(shù)組
輸出為: 6
.優(yōu)點(diǎn):
有了這個(gè)對象以后寫函數(shù)的時(shí)候臂港,就不用給所有的形參都指定參數(shù)名汞幢,然后通過參數(shù)名的方式獲取參數(shù)了,我們可以直接使用arguments對象來獲取任意數(shù)量的實(shí)參
我覺得有的時(shí)候是因?yàn)槲覀冃枰蚰骋粋€(gè)函數(shù)里面 輸入個(gè)數(shù)不定的參數(shù),我們事先不知道有多少個(gè)贯莺。沒有arguments的話,就需要讓使用者傳一個(gè)數(shù)組進(jìn)來兔辅,不是很好看肤频,也不好寫,但使用arguments的話,就可以讓調(diào)用者想傳幾個(gè)就傳幾個(gè)绍坝,比較簡潔明了徘意。