概述
arguments映射的问题
什么是arguments:arguments 是一个对应于传递给函数的参数的类数组对象。
- 在正常的情况下为函数设置几个形参,调用时就传递几个实参,这时arguments会和参数一一对应形成映射关系
function fun(a,b,c){
c = 30
console.log(a,b,c) // 1,2,30
console.log(arguments) // Arguments(3)[1,2,30]
arguments[1] = 20;
console.log(arguments) //Arguments(3)[1,20,30]
console.log(arguments[2]) // 30
}
fun(1,2,3)
- 但当我们的形参和实参没有一一对应的时候,那些没有传入实参的形参就不会和arguments形成映射
function fun(a,b,c){
c = 30
console.log(a,b,c) // 1,2,30
console.log(arguments) // Arguments(2)[1,2]
console.log(arguments[2]) //undifined
}
fun(1,2)
- 当我们在函数内开启严格模式时,形参和arguments就不会有映射关系
function fun(a,b,c){
'use strict'
c = 30
console.log(a,b,c) // 1,2,30
console.log(arguments) //Arguments(2)[1,2,3]
console.log(arguments[2]) //3
}
fun(1,2,3)
总结:当调用函数是传入的实参与函数的形参一一对应的时候,形参会和arguments产生映射关系,反之传入的实参没有与形参一一对应时,没有对应的形参就不会与arguments形成映射关系,还有当在函数中开启严格模式时,形参不会和arguments形成映射关系
最后
以上就是美丽白猫为你收集整理的arguments映射的问题的全部内容,希望文章能够帮你解决arguments映射的问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复