在JS中,传入的函数的参数个数可以与定义函数的个数不一致,那么对于传入的实参的引用,则是arguments
对象。然而改对象在严格模式和非严格模式下是由区分的:
1 在严格模式下arguments
作为了一个保留字,那么如果在定义arguments
相关的变量和函数,则会报语法错误。
2 arguments
在严格模式下属于传入的实参对象,并且是不可变的,即不可在函数内部通过arguments
来修改实参值。
如:
function test1(a){
“use strict”;
arguments[0]=34;
console.log(a);
}
test1(23)
,则函数的输出结果为23
.
3 禁止使用arguments.callee
,caller
在函数内部不能通过这种方式获取自己的引用了
1、本文章收集自博客园
2、如果个人博客中涉及他人文章我会尽力注明出处,但受限于能力并不能保证所有引用之处均能够注明出处,如有冒 犯,请您及时私信 或 评论 告知以便修改,并于此提前向您道歉。
3、转载过程中如有涉及他人作品请您与本人联系。
4、所有文章(不限于原创)仅为个人见解,个人只能尽量保证正确,如有错误您需要自负责任,并请您留下评论提出错误之处以便及时更正,惠泽他人,谢谢!