每个函数(非箭头)在被调用时都会自动取得两个特殊变量:thisarguments。内部函数在搜索这两个变量时,只会搜索到其活动对象为止。
arguments 是一个类数组对象,里面保存着调用函数时传入的实参,第一个参数索引为0

(function(age,name){console.log(arguments);      //[23,"XD"]console.log(arguments.length);     //2console.log(arguments[0]);       //23console.log(arguments[1]);      //XD
})(23,"XD");

修改 arguments 会影响参数。

(function(age){console.log(arguments[0]);        //23console.log(age);       //23arguments[0] = 18;console.log(age);        //18
})(23);

arguments 虽然可以通过下标获取其中的元素,也有 length 属性,但是却不是一个数组,因此不能使用数组的方法。

(function(){console.log(arguments.reverse());        //报错
})(23,"XD");

arguments 还有一个 callee 属性,这个属性指向 arguments 所在函数本身。

(function fun(){console.log(arguments.callee === fun);        //true
})();

arguments 对象判断传递给函数的参数个数,即可模拟函数重载:

function fun(){if(arguments.length === 1){console.log(arguments[0]);}else if(arguments.length === 2){console.log(arguments[0] + arguments[1]);}
}fun(18);       //18
fun(18,23);     //41

可以使用Array.prototype.slice.apply(arguments)Array.prototype.concat.apply([], arguments)arguments转化为真正的数组。

函数中的 arguments相关推荐

  1. 详解 js 函数中的 arguments

    详解 js 函数中的 arguments 1.什么 arguments 简单来说:arguments 是一个对应于传递给函数的参数的类数组对象 arguments 对象是所有(非箭头)函数中都可用的局 ...

  2. JS 函数中的 arguments 类数组对象

    1. arguments 介绍 2. arguments 转为数组 3. 箭头函数中没有 arguments 1. arguments 介绍 众所周知,js 是一门非常灵活的语言.当我们在 js 中调 ...

  3. JS函数中的arguments

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>< ...

  4. 函数中的arguments

    1. 什么是arguments? arguments是函数中一个默认的伪数组对象2. arguments 有什么用?arguments接收用户传递的实参信息没有接触arguments之前,通过形参接收 ...

  5. JavaScript函数中的arguments(js函数中的arguments,函数默认参数arguments)

    简述:js中的函数大家都比较熟悉,今天来分享下函数中的默认参数arguments.js的函数参数和其他的语言有些不同,它并不介意你传进来多少个参数,以及参数的数据类型,即使你在定义函数时,只设置了两个 ...

  6. 详解函数中的 arguments

    arguments 是一个对应于传递给函数的参数的类数组对象, 它只定义在函数体内. 在使用的时候要注意以下几点: arguments 对象是所有 (非箭头) 函数中都可用的局部变量. ::: tip ...

  7. 详细介绍js函数中的arguments

    arguments相当于一个"伪数组" ECMAScript函数的参数和其他的语言还是有些不同的,他并不介意你传进来多少个参数,以及参数的数据类型:通俗的说,即使你在定义函数时,只 ...

  8. JS:函数中的arguments

    一.什么是arguments 函数内部有一个特殊的对象叫arguments,里面包含了传递给函数的每个参数,适用于函数参数无法确定个数的情况下. 1.可以使用arguments.length检测函数的 ...

  9. 【Javascript】函数中的arguments

    arguments 是一个对应于传递给函数的参数的类数组对象. function func1(a, b, c) {console.log(arguments[0]);// expected outpu ...

最新文章

  1. opencv固定窗口在桌面的位置
  2. UML类关系(依赖,关联,聚合,组合,泛化,实现)
  3. 数据库设计--数据字典
  4. linux上安装mysql5.7
  5. 制作centos的启动盘
  6. java.lang.instrument 中的premain 实现类的个性化加载(附源代码)
  7. 6. Zend_Uri
  8. ERP学习 之 财务管理
  9. python 文件另存为快捷键_pycharm快捷键
  10. Android中onTouch方法的执行过程以及和onClick执行发生冲突的解决办法
  11. 《黑客与画家》读后感之一
  12. python兔子繁殖问题循环_for循环——兔子繁殖问题
  13. 阿里云gpu服务器计算性能,gpu服务器价格(最新收费标准)
  14. 第一章 操作系统引论之多道批处理系统
  15. http-杂货铺.md
  16. 使用wiki百科和gensim训练中文词向量
  17. 一对一视频交友源码打造独特的一对一聊天系统
  18. 如何做一名优秀的助教@助教的那些事(助教总结)
  19. java Steam流的用法
  20. 权威典藏版:漫游费的前世今生(上)

热门文章

  1. java中String字符串的替换函数:replace与replaceAll的区别
  2. 如何获取LanuchImage
  3. PostgreSQL初学
  4. SVN: bdb: BDB1538 Program version 5.3 doesn't match environment version 4.7
  5. WebSphere MQ 安装
  6. TabWidget的一个小疑问
  7. java正向最大匹配算法_java中文分词之正向最大匹配法实例代码
  8. 【开发工具】之makefile基本规则
  9. 数据结构与算法之三直接插入排序
  10. thinkphp5 后台多选删除_TP5(thinkPHP框架)实现后台清除缓存功能示例