函数的形参和实参

2021-06-01  本文已影响0人  樱桃小白菜

argument 对象

argument 作为函数的实参集合,是一个类数组对象。

function printArgs() {
  console.log(arguments,arguments[0])
}

printArgs("1", "a", 0, { foo: "B" })  //  ["1", "a", 0, { foo: "B" }], "1"

arguments 包含一个 length 属性,可以用 arguments.length 来获得传入函数的参数个数。

function printArgs() {
  console.log(arguments.length)
}

printArgs("1", "a", 0, { foo: "B" })  //  4

arguments 可以进行修改

function printArgs() {
"use strict"
arguments[0] = 1
  console.log(arguments[0])
}

printArgs("1", "a", 0, { foo: "B" })  //  1

在严格模式下会与非严格模式下的值不同,下面是我在网上找的例子

function foo(a) {   
  "use strict"
  console.log(a, arguments[0])  //  1 1
  a = 10
  console.log(a, arguments[0])  //  10  1
  arguments[0] = 20
  console.log(a, arguments[0])  //  10 20
}

foo(1)

而在严格模式下,函数中的参数与 arguments 对象没有联系,修改一个值不会改变另一个值。而在非严格模式下,两个会互相影响。

上一篇下一篇

猜你喜欢

热点阅读