arguments小笔记

为什么说arguments是伪(类)数组?
答:因为arguments它不是数组,却用起来像数组,有length属性和[ ]访问成员。但是不具有数据的方法,如join()concat()等。。。

怎样将arguments转换成数组

Array.prototype.slice.apply(arguments)
image.png

转换前


image.png

转换后


image.png

1、数组长度

window.onload = function(){

        function abc(){
            console.log(arguments.length)
        }
        abc(1,2,3)

  }// 3

2、改变参数值

window.onload = function(){

        function abc(x,y,z){
              arguments[2] = "hello";
              for(var i=0;i<=arguments.length;i++){
                    console.log(" "+arguments[i]);
              }

          }
        abc(1,2,3)

  }// 1,2,hello

3、递归(callee()调用自身)

求1到n的自然数之和

function add(x){
            if(x == 1) return 1;
            else return x + arguments.callee(x-1);
         }
         console.log(add(5))//15

对于没有命名的函数

var result = function(x){
              if(x == 1) return 1;
              return x+arguments.callee(x-1);
          }
         console.log(result(5))//15
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,738评论 0 4
  •   引用类型的值(对象)是引用类型的一个实例。   在 ECMAscript 中,引用类型是一种数据结构,用于将数...
    霜天晓阅读 1,247评论 0 1
  • 本章内容 使用对象 创建并操作数组 理解基本的 JavaScript 类型 使用基本类型和基本包装类型 引用类型的...
    闷油瓶小张阅读 798评论 0 0
  • 第一部分 准入训练 第1章 进入忍者世界 js开发人员通常使用js库来实现通用和可重用的功能。这些库需要简单易用,...
    如201608阅读 1,415评论 1 2
  • 第三章 类型、值和变量 1、存取字符串、数字或布尔值的属性时创建的临时对象称做包装对象,它只是偶尔用来区分字符串值...
    坤少卡卡阅读 735评论 0 1

友情链接更多精彩内容