01 arguments
arguments:接受實(shí)參
該參數(shù)是一個(gè)類似于數(shù)組的結(jié)構(gòu),但是并不是數(shù)組。
注:(可以像數(shù)組一樣遍歷 + 還可以使用下標(biāo)來訪問數(shù)據(jù))
注意點(diǎn):
01 函數(shù)調(diào)用的時(shí)候,會(huì)把實(shí)參的值賦值給形參,而且會(huì)使用arguments來接收實(shí)參
02 如果實(shí)參的個(gè)數(shù)超過形參的個(gè)數(shù),那么可以通過arguments來獲取超出的數(shù)據(jù)
03 如果實(shí)參的格式小于形參的個(gè)數(shù),那么不足的全部設(shè)置為undefined
<script>
function sum(){
var result = 0;
for (var i = 0; i < arguments.length; i++) {
result += arguments[i];
}
console.log(result);
// 判斷arguments 的類型,不是數(shù)組,類似數(shù)組
console.log(Array.isArray(arguments)); //false
console.log(Object.prototype.toString.call(arguments)); //[object Arguments]
}
sum(1, 2, 3, 4, 5);
</script>
02 length
length屬性
01 arguments.length 實(shí)參長(zhǎng)度(個(gè)數(shù))
02 函數(shù)名.length 形參的長(zhǎng)度(個(gè)數(shù))
01 函數(shù)調(diào)用的時(shí)候,會(huì)把實(shí)參的值賦值給形參,而且會(huì)使用arguments來接收實(shí)參
02 如果實(shí)參的個(gè)數(shù)超過形參的個(gè)數(shù),那么可以通過arguments來獲取超出的數(shù)據(jù)
<script>
function demo(a, b, c){
// 獲得實(shí)參的個(gè)數(shù)
console.log(arguments.length);
//通過arguments來獲取超出的數(shù)據(jù)
console.log(arguments[demo.length]);
}
demo(1, 2, 3, 4, 5);
console.log(demo.length);
</script>
03 如果實(shí)參的格式小于形參的個(gè)數(shù),那么不足的全部設(shè)置為undefined
<script>
function demo(a, b, c){
console.log(arguments.length);
console.log(a, b, c); //1 2 undefined
}
demo(1, 2);
</script>