您的位置:首页 > Web前端 > JavaScript

js函数中的形参,实参和arguments对象

2020-06-08 05:45 561 查看

形参:形式参数,是函数作用域内的变量。
实参:调用函数时,传入的参数,有对应的形参时,实参会赋值给形参。

案例:

var MyF = function(a){} //a为形参

MyF(1) //1为实参

在javascript中的函数中,有如下一些规则:

1.实参传入个数和形参设置数量都是自定义的。实参传多或者传少都是允许的,实参不是非必传,形参也不是非必设,原理和变量的定义和赋值一样。
2.形参可以设置默认值,当有对应实参赋值的时候,默认值一般会被实参替换。若形参设置了不为undefined的默认值,传入对应实参为undefined时,形参不会被实参替换。
3.形参和实参是根据位置对应赋值。

案例:

var fOne = function (a,b){
console.log(a)//1
console.log(b)//undefined
}
fOne(1)

var fTwo = function (a,b,c){
console.log(a) //1
console.log(b) //2
console.log(c) //3
}
fTwo(1,2,3,4)

var fThr = function(a=1,b=2,c=3,d){
console.log(a) //1
console.log(b) //3
console.log(c) //3
console.log(d) //undefined
}
fThr(undefined,3)

arguments对象

arguments对象是每一个函数内部都有的对象,以数组的形参呈现,该对象保存了函数传入的实参和其他的方法和原型链。该对象一般用于获取函数的实参。

案例:

var fOne = function(){
var arr = []
for(var i = 0;i < arguments.length; i++){
arr.push(arguments[i])
}
console.log(arr) //[1, 2, undefined]
}
fOne(1,2,undefined)

var fTwo = function(a=1,b=2,c){
var arr = []
for(var i = 0;i < arguments.length; i++){
arr.push(arguments[i])
}
console.log(arr) // [undefined, 3]
}
fTwo(undefined,3)

获取形参长度

函数名.length的形式可以查看和获取形参的长度。

var mFc = function (){}
console.log(mFc.length) //0

var mFc1 = function (a,b){}
console.log(mFc1.length) //2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: