update: 函数的类数组对象 arguments

This commit is contained in:
qianguyihao 2022-07-25 20:48:59 +08:00
parent 64e51998f2
commit ed181717e8
1 changed files with 11 additions and 12 deletions

View File

@ -310,9 +310,9 @@ add(1, 2);
```javascript
// 调用函数
add(3,4);
add("3",4);
add("Hello","World");
add(3, 4);
add("3", 4);
add("Hello", "World");
// 定义函数:求和
function add(a, b) {
@ -515,13 +515,13 @@ arguments的展示形式是一个**伪数组**。它具有以下特点:
- 可以进行遍历;具有数组的 length 属性,可以获取长度。
- 通过索引存储数据也可以通过索引获取和操作数据。我们可以通过索引从0开始计数访问某个实参。
- 通过索引存储数据,也可以通过索引获取和操作数据。比如,我们可以通过索引从0开始计数访问某个实参。
- 不能调用数组的方法。比如push()、pop() 等方法都没有。
- 不能调用数组的方法。比如push()、pop() 等方法都没有。
### arguments.length 返回函数**实参**的个数
### arguments.length 返回函数实参的个数
arguments.length 可以用来获取**实参的长度**。
arguments.length 可以用来获取**实参的个数**。
@ -545,7 +545,7 @@ function fn(a, b) {
![](http://img.smyhvae.com/20180125_2140.png)
此外还可以通过 arguments[0]、arguments[1]等获取某个实参。也就是说,我们即使不定义形参,也可以通过 arguments 来获取实参(只不过比较麻烦)arguments[0] 表示第一个实参、arguments[1] 表示第二个实参,以此类推。
此外,即使我们不定义形参,也可以通过 arguments 来获取实参arguments[0] 表示第一个实参、arguments[1] 表示第二个实参,以此类推。
举例1实参求和
@ -563,14 +563,13 @@ console.log(result);
```
### arguments.callee 返回正在执行的函数
arguments 里边有一个属性叫做 callee这个属性对应一个函数对象就是当前正在指向的函数对象。
```javascript
function fun() {
console.log(arguments.callee == fun); //打印结果为true
console.log(arguments.callee == fun); // 打印结果为true
}
fun('hello');
@ -588,8 +587,8 @@ fn(2, 4, 6);
fn(2, 4, 6, 8);
function fn(a, b) {
arguments[0] = 99; //将实参的第一个数改为99
arguments.push(8); //此方法不通过,因为无法增加元素
arguments[0] = 99; // 将实参的第一个数改为99
arguments.push(8); // 此方法不通过,因为无法增加元素
}
```