JavaScript | 伪数组

有数组的索引length属性,但是没有数组的方法,称这种对象叫伪数组

 

arguments代表的是实参。有个讲究的地方是:arguments只在函数中使用

(1)返回函数实参的个数:arguments.length

例子:

fn(2,4);
fn(2,4,6);
fn(2,4,6,8);
 
function fn(a,b,c) {
console.log(arguments);
console.log(fn.length);           //获取形参的个数
console.log(arguments.length);    //获取实参的个数
 
console.log("----------------");
}

结果: 

调用fn函数,就算不传参数,也不会报错。它接收参数是一一对应的。

2)之所以说arguments是伪数组,是因为:arguments可以修改元素,但不能改变数组的长短。举例:

fn(2,4);
fn(2,4,6);
fn(2,4,6,8);
 
function fn(a,b) {
    arguments[0] = 99;        //将实参的第一个数改为99
    arguments.push(8);        //此方法不通过,因为无法增加元素
}

查看结果,是因为push报错了!

 

清空数组的几种方式:

var array = [1,2,3,4,5,6];
 
array.splice(0);       //方式1:删除数组中所有项目
array.length = 0;    //方式1:length属性可以赋值,在其它语言中length是只读
array = [];          //方式3:推荐

 在js中,也可以对length修改。arguments 用的很少

posted @ 2019-08-24 22:30  PythonGirl  阅读(193)  评论(0)    收藏  举报