原生JavaScript之函数特殊对象arguments

简介: 原生JavaScript之函数特殊对象arguments

arguments作用与使用


作用

访问函数参数:你可以使用arguments对象来访问在函数调用时传递的参数,即使你没有在函数定义中明确声明这些参数。通过索引访问arguments对象中的元素,例如 arguments[0] 可以获取第一个参数,arguments[1] 可以获取第二个参数,依此类推。


处理可变数量的参数:有时候你可能需要编写接受不定数量参数的函数。通过使用arguments对象,你可以处理任意数量的参数,而无需提前定义形式参数的个数和名称


简化重载函数:在某些编程语言中,你可以通过定义多个具有相同名称但不同参数列表的函数来实现函数重载。然而,在JavaScript中,并没有直接支持函数重载的机制。但是,你可以使用arguments对象来检查传递给函数的参数,并根据参数的类型和个数采取不同的操作,从而模拟函数重载的行为。



使用



参数长度

获取函数有几个参数:argument.length



某个参数值

获取函数中某个参数值:argument[index]


获取所有参数值

获取所有参数值:argument

返回的是Object类型,里面装着所有参数。


返回数组格式所有参数值

可以使用…扩展操作符号来进行调用,如:function a(…args)


举例:

function a(...args){
  console.log(args);//[1,2,3]
}
function b(a,b,c){
  console.log(arguments[0],arguments[1],arguments[2]);//4 5 6
  console.log(arguments.length);//3
  console.log(arguments);
  //Arguments(3) [4, 5, 6, callee: ƒ, Symbol(Symbol.iterator): ƒ]
}
b(4,5,6)
a(1,2,3)
相关文章
|
7天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
18 3
|
1天前
|
JavaScript
变量和函数提升(js的问题)
变量和函数提升(js的问题)
|
1天前
|
JavaScript 前端开发
JavaScript DOM 文档对象模型(获取、改变html元素)
JavaScript DOM 文档对象模型(获取、改变html元素)
|
2天前
|
存储 JavaScript 前端开发
每日一道javascript面试题(九)函数的参数可以和函数体中的变量重名吗
每日一道javascript面试题(九)函数的参数可以和函数体中的变量重名吗
|
2天前
|
JavaScript 前端开发
每日一道javascript面试题(七)你真的知道箭头函数吗
每日一道javascript面试题(七)你真的知道箭头函数吗
|
5天前
|
JavaScript 前端开发 BI
原生html—摆脱ps、excel 在线绘制财务表格加水印(html绘制表格js加水印)
原生html—摆脱ps、excel 在线绘制财务表格加水印(html绘制表格js加水印)
9 1
|
7天前
|
JavaScript 前端开发
js开发:请解释什么是ES6的Generator函数,以及它的用途。
ES6的Generator函数是暂停/恢复功能的特殊函数,利用yield返回多个值,适用于异步编程和流处理,解决了回调地狱问题。例如,一个简单的Generator函数可以这样表示: ```javascript function* generator() { yield 'Hello'; yield 'World'; } ``` 创建实例后,通过`.next()`逐次输出"Hello"和"World",展示其暂停和恢复的特性。
16 0
|
9天前
|
JavaScript 前端开发 UED
深入解析JavaScript原生操作DOM技术
【4月更文挑战第22天】本文深入探讨JavaScript原生DOM操作技术,包括使用`getElement*`方法和CSS选择器获取元素,借助`createElement`与`appendChild`动态创建及插入元素,修改元素内容、属性和样式,以及删除元素。通过掌握这些技术,开发者能实现页面动态交互,但应注意避免过度操作DOM以优化性能和用户体验。
|
设计模式 前端开发 JavaScript
100行代码让您学会JavaScript原生的Proxy设计模式
100行代码让您学会JavaScript原生的Proxy设计模式
110 0
100行代码让您学会JavaScript原生的Proxy设计模式