首页 理论教育JavaScript中的arguments对象

JavaScript中的arguments对象

【摘要】:JavaScript函数内的特殊变量arguments是函数调用时所有参数的集合;通过arguments对象可以获取任意数量的参数,即使没有形参与之对应。arguments对象是一种类似数组的数据结构,但是没有数组操作的方法。动手写7.3.5执行7.3.5.html,输出arguments到网页,如下图所示。图7.3.5arguments对象使用arguments提高了函数编程的灵活性和容错性。arguments虽然不是关键字,但为了避免冲突,声明变量时不要使用arguments作为变量名。

JavaScript函数内的特殊变量arguments是函数调用时所有参数的集合;通过arguments对象可以获取任意数量的参数,即使没有形参与之对应。

arguments对象是一种类似数组的数据结构,但是没有数组操作的方法。

7.3.5.html在函数内部使用arguments,让函数支持任意数量的参数调用,如下所示。

动手写7.3.5

执行7.3.5.html,输出arguments到网页,如下图所示。

图7.3.5 arguments对象

使用arguments提高了函数编程的灵活性和容错性。arguments虽然不是关键字,但为了避免冲突,声明变量时不要使用arguments作为变量名。

7.3.6.html在普通模式和严格模式下对arguments重新赋值,如下所示。(www.chuimin.cn)

动手写7.3.6

执行7.3.6.html,在普通模式下能成功修改arguments,而在严格模式下修改arguments会触发错误;打开浏览器控制台查看异常信息,如下图所示。

图7.3.6 覆盖arguments对象

arguments在两种模式下的区别是:

◇ 在普通模式下,浏览器没有保护arguments,修改arguments属性会影响形参的值,对arguments赋值会覆盖该标识符的值,但不影响形参。

◇ 在严格模式下,不允许修改arguments标识符,对arguments进行修改会触发语法错误“Uncaught SyntaxError: Unexpected eval or arguments in strict mode”。