美文网首页
函数的形参和实参

函数的形参和实参

作者: 樱桃小白菜 | 来源:发表于2021-06-01 18:09 被阅读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 对象没有联系,修改一个值不会改变另一个值。而在非严格模式下,两个会互相影响。

    相关文章

      网友评论

          本文标题:函数的形参和实参

          本文链接:https://www.haomeiwen.com/subject/nwxisltx.html