类数组对象与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
目录
相关文章
|
机器学习/深度学习 自然语言处理
自然语言处理Transformer模型最详细讲解(图解版)
自然语言处理Transformer模型最详细讲解(图解版)
11004 1
自然语言处理Transformer模型最详细讲解(图解版)
|
机器学习/深度学习 数据可视化 算法
吴恩达机器学习--逻辑回归
吴恩达机器学习--逻辑回归
242 0
|
Python
Python中的push方法详解与实例
Python中的push方法详解与实例
218 3
|
10月前
|
安全 数据挖掘 BI
欢迎使用Quick BI,开启您的智能数据分析之旅!
欢迎选择Quick BI作为您的数据分析伙伴!本文将为您介绍一个月全功能免费试用教程,帮助您轻松上手。请确保在PC环境下操作。
967 6
使用队列解决高并发下使用Client对象调用webService接口
使用队列解决高并发下使用Client对象调用webService接口
|
机器学习/深度学习 存储 算法
导数、梯度、最优化方法|学习笔记
快速学习导数、梯度、最优化方法
导数、梯度、最优化方法|学习笔记
|
移动开发 数据安全/隐私保护 HTML5
HTML页面
HTML页面
|
监控 安全 定位技术
PMBOK泛读(第二章) - 项目运行环境
PMBOK泛读(第二章) - 项目运行环境
123 0
|
存储 数据采集 XML
GO中 gjson 的应用和分享
咱们上次分享到使用 GO 爬取静态网页的数据,一起来回顾一下 • 分享静态网页和动态网页的简要说明 • GO 爬取静态网页简单数据 • GO 爬取网页上的图片 • 并发爬取网页上的资源
174 0
GO中 gjson 的应用和分享
|
监控 算法 网络协议
Sentinel vs Hystrix 限流对比,到底怎么选?
Sentinel vs Hystrix 限流对比,到底怎么选?
1081 0
Sentinel vs Hystrix 限流对比,到底怎么选?