类数组对象与arguments

简介: 类数组对象与arguments

什么是类数组对象

拥有索引属性和 length 属性的对象

var array = ["name", "age", "sex"];

var arrayLike = {
  0: "name",
  1: "age",
  2: "sex",
  length: 3,
};

类数组对象使用数组方法

var arrayLike = { 0: "name", 1: "age", 2: "sex", length: 3 };

Array.prototype.join.call(arrayLike, "&"); // name&age&sex

Array.prototype.slice.call(arrayLike, 0); // ["name", "age", "sex"]
// slice可以做到类数组转数组

Array.prototype.map.call(arrayLike, function (item) {
  return item.toUpperCase();
});

Arguments 对象

Arguments 对象的 length 属性,表示实参的长度,举个例子:

function foo(b, c, d) {
  console.log("实参的长度为:" + arguments.length);
}

console.log("形参的长度为:" + foo.length);

foo(1);

// 形参的长度为:3
// 实参的长度为:1

callee 属性

Arguments 对象的 callee 属性,通过它可以调用函数自身。

讲个闭包经典面试题使用 callee 的解决方法:

var data = [];

for (var i = 0; i < 3; i++) {
  (data[i] = function () {
    console.log(arguments.callee.i);
  }).i = i;
}

data[0]();
data[1]();
data[2]();

// 0
// 1
// 2
目录
相关文章
|
10月前
|
JavaScript 前端开发 索引
在JavaScript中,可以使用数组字面量或Array构造函数来创建一个数组对象
【4月更文挑战第16天】在JavaScript中,可以使用数组字面量或Array构造函数来创建一个数组对象
106 4
|
10月前
|
JavaScript 前端开发 索引
往数组添加对象的方法
往数组添加对象的方法
44 0
|
C++
Const Reference(常量引用)
Const Reference(常量引用)是 C++ 编程语言中的一种特殊类型,它允许将一个常量的引用传递给函数或赋值给其他变量。常量引用主要用于传递只读数据,防止在函数内部修改实参。 使用常量引用的步骤如下:
135 5
|
JavaScript 前端开发
|
JavaScript 前端开发
|
存储 索引 Python
Python函数是所谓的第一类对象(First-Class Object)是什么鬼?
之前写过一篇关于装饰器的文章,虽然写得还算不错,但是也有不少同学表示没看懂,我大概分析了其中的原因,主要问题是他们不理解函数,因为Python中的函数不同于其它语言。
180 0
|
JavaScript 算法
【干货】Array对象的方法大全,看看你知道多少.
从《高级程序设计》中整理出来的数组的概念和数组对象的一些方法,分享给大家同时也是复习复习,有不正确的地方欢迎指正,共同进步。
212 0
|
JavaScript 前端开发
Function(函数)与Object(对象)的关系
Function(函数)与Object(对象)的关系
115 0
|
JavaScript
js内置对象:Array对象、Date对象、正则表达式对象、string对象
js内置对象:Array对象、Date对象、正则表达式对象、string对象
153 0