我是靠谱客的博主 美丽白猫,最近开发中收集的这篇文章主要介绍arguments映射的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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映射的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部