类数组、arguments

arguments为一个类数组的对象;类数组对象即为:有length属性和索引的对象。
一、类数组===》数组
var arrObj = {0:"man",1:"20",length:2}; Array.prototype.slice.call(arrObj,0);//["man","20"]
注释:在arrObj中冒号前面的数字为下标;
   slice将类数组对象转化为数组;
   call(要转换的数组,开始的下标)
二、类数组===》对象
Array.prototytpe.splice.call(arrObj);//["man","20"] Array.from(arrObj);//["man","20"] Array.prototype.concat.apply([],arrObj);//["man","20"]
三、Arguments对象
  Arguments只定义在函数体中,包括了函数参数和其他属性。在函数体中arguments代指Arguments对象。
  1、属性1:length。在函数体中length为实参的长度。
  2、属性2:callee。可以用该属性对函数自身的调用。
var data = [];   for (var i = 0;i < 3;i++) {   (data[i] = function ( ) {        console.log(arguments.callee.i);     }).i = i;   } data[0]();//0 data[1]();//1 data[2]();//2
四、ES6将此、转化为数组
function fn (...arguments) {     console.log(arguments);//[1,2,3]  }  fn(1,2,3);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,280评论 0 4
  • 相关知识点 数据类型、运算、对象、function、继承、闭包、作用域、原型链、事件、RegExp、JSON、Aj...
    sandisen阅读 11,407评论 7 175
  • 第一部分 准入训练 第1章 进入忍者世界 js开发人员通常使用js库来实现通用和可重用的功能。这些库需要简单易用,...
    如201608阅读 1,385评论 1 2
  • 《时生》东野圭吾 1、时生是一个特殊的孩子,得了一种罕见的病就,叫做格雷戈里综合症。一种十三、四岁之前一切正常,之...
    如意ylm阅读 655评论 0 0