函数中的 arguments
每个函数(非箭头)在被调用时都会自动取得两个特殊变量:this
和 arguments
。内部函数在搜索这两个变量时,只会搜索到其活动对象为止。
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相关推荐
- 详解 js 函数中的 arguments
详解 js 函数中的 arguments 1.什么 arguments 简单来说:arguments 是一个对应于传递给函数的参数的类数组对象 arguments 对象是所有(非箭头)函数中都可用的局 ...
- JS 函数中的 arguments 类数组对象
1. arguments 介绍 2. arguments 转为数组 3. 箭头函数中没有 arguments 1. arguments 介绍 众所周知,js 是一门非常灵活的语言.当我们在 js 中调 ...
- JS函数中的arguments
<!DOCTYPE html> <html><head><meta charset="UTF-8"><title>< ...
- 函数中的arguments
1. 什么是arguments? arguments是函数中一个默认的伪数组对象2. arguments 有什么用?arguments接收用户传递的实参信息没有接触arguments之前,通过形参接收 ...
- JavaScript函数中的arguments(js函数中的arguments,函数默认参数arguments)
简述:js中的函数大家都比较熟悉,今天来分享下函数中的默认参数arguments.js的函数参数和其他的语言有些不同,它并不介意你传进来多少个参数,以及参数的数据类型,即使你在定义函数时,只设置了两个 ...
- 详解函数中的 arguments
arguments 是一个对应于传递给函数的参数的类数组对象, 它只定义在函数体内. 在使用的时候要注意以下几点: arguments 对象是所有 (非箭头) 函数中都可用的局部变量. ::: tip ...
- 详细介绍js函数中的arguments
arguments相当于一个"伪数组" ECMAScript函数的参数和其他的语言还是有些不同的,他并不介意你传进来多少个参数,以及参数的数据类型:通俗的说,即使你在定义函数时,只 ...
- JS:函数中的arguments
一.什么是arguments 函数内部有一个特殊的对象叫arguments,里面包含了传递给函数的每个参数,适用于函数参数无法确定个数的情况下. 1.可以使用arguments.length检测函数的 ...
- 【Javascript】函数中的arguments
arguments 是一个对应于传递给函数的参数的类数组对象. function func1(a, b, c) {console.log(arguments[0]);// expected outpu ...
最新文章
- opencv固定窗口在桌面的位置
- UML类关系(依赖,关联,聚合,组合,泛化,实现)
- 数据库设计--数据字典
- linux上安装mysql5.7
- 制作centos的启动盘
- java.lang.instrument 中的premain 实现类的个性化加载(附源代码)
- 6. Zend_Uri
- ERP学习 之 财务管理
- python 文件另存为快捷键_pycharm快捷键
- Android中onTouch方法的执行过程以及和onClick执行发生冲突的解决办法
- 《黑客与画家》读后感之一
- python兔子繁殖问题循环_for循环——兔子繁殖问题
- 阿里云gpu服务器计算性能,gpu服务器价格(最新收费标准)
- 第一章 操作系统引论之多道批处理系统
- http-杂货铺.md
- 使用wiki百科和gensim训练中文词向量
- 一对一视频交友源码打造独特的一对一聊天系统
- 如何做一名优秀的助教@助教的那些事(助教总结)
- java Steam流的用法
- 权威典藏版:漫游费的前世今生(上)
热门文章
- java中String字符串的替换函数:replace与replaceAll的区别
- 如何获取LanuchImage
- PostgreSQL初学
- SVN: bdb: BDB1538 Program version 5.3 doesn't match environment version 4.7
- WebSphere MQ 安装
- TabWidget的一个小疑问
- java正向最大匹配算法_java中文分词之正向最大匹配法实例代码
- 【开发工具】之makefile基本规则
- 数据结构与算法之三直接插入排序
- thinkphp5 后台多选删除_TP5(thinkPHP框架)实现后台清除缓存功能示例