如何掌握js函数中的隐式参数arguments与this的深层应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3434个文字,预计阅读时间需要14分钟。
前语:在函数调用时,arguments和this会默认传递给函数,并可以直接在函数体内引用它们,以此来访问函数相关的一些信息。其中,arguments是一个类数组结构,它保存了调用时传递给函数的参数。
arguments是一个类数组结构,它保存了调用时传递给函数的所有参数。
前言
在函数调用时,arguments和this会被静默的传递给函数,并可以在函数体内引用它们,借以访问函数相关的一些信息。
其中arguments是一个类数组结构,它保存了调用时传递给函数的所有实参;this是函数执行时的上下文对象, 这个对象有些让人感到困惑的行为。 下面分别对他们进行讨论。
1. arguments
1.1 背景
JavaScript 允许函数在调用时传入的实参个数和函数定义时的形参个数不一致, 比如函数在定义时声明了 n 个参数, 在调用函数时不一定非要传入 n 个参数,例如:
// 1. 定义有一个形参的函数fn() function fn(arg){} // 2. 在调用时传入 0 个或 多个参数,并不会报错 fn(); // 传入 0 个参数 fn(1,'a',3); // 传入多个参数
1.2 arguments 与 形参的对应关系
arguments是个类数组结构,它存储了函数在调用时传入的所有实参, 通过访问它的length属性可以得到其中保存的实参的个数,并可以通过arguments[n]按顺序取出传入的每个参数(n=1,2,..,arguments.length-1)。
本文共计3434个文字,预计阅读时间需要14分钟。
前语:在函数调用时,arguments和this会默认传递给函数,并可以直接在函数体内引用它们,以此来访问函数相关的一些信息。其中,arguments是一个类数组结构,它保存了调用时传递给函数的参数。
arguments是一个类数组结构,它保存了调用时传递给函数的所有参数。
前言
在函数调用时,arguments和this会被静默的传递给函数,并可以在函数体内引用它们,借以访问函数相关的一些信息。
其中arguments是一个类数组结构,它保存了调用时传递给函数的所有实参;this是函数执行时的上下文对象, 这个对象有些让人感到困惑的行为。 下面分别对他们进行讨论。
1. arguments
1.1 背景
JavaScript 允许函数在调用时传入的实参个数和函数定义时的形参个数不一致, 比如函数在定义时声明了 n 个参数, 在调用函数时不一定非要传入 n 个参数,例如:
// 1. 定义有一个形参的函数fn() function fn(arg){} // 2. 在调用时传入 0 个或 多个参数,并不会报错 fn(); // 传入 0 个参数 fn(1,'a',3); // 传入多个参数
1.2 arguments 与 形参的对应关系
arguments是个类数组结构,它存储了函数在调用时传入的所有实参, 通过访问它的length属性可以得到其中保存的实参的个数,并可以通过arguments[n]按顺序取出传入的每个参数(n=1,2,..,arguments.length-1)。

