数组的arguments是实参列表

    科技2022-08-17  155

    例题:console.log的结果是[1,2,3,4,5]的是?

    //A function foo(x){ console.log(arguments)//实参列表 return x } foo(1,2,3,4,5) //B function foo(x){ console.log(arguments); return x }(1,2,3,4,5) //不报错也不执行 函数(非函数表达式,函数表达式是可以执行的)后面接括号,如果括号是空的,会报错,但是里面有东西,相当于是数学运算的括号,就不当作函数执行了,这样的话就不报错了 //c (function foo(x){ console.log(arguments); return x })(1,2,3,4,5) //立即执行函数括号写外面也可执行,实参列表 //d function foo(){//没写形参不代表参数没传进去,实参列表里有实参 bar.apply(null,arguments)//不涉及this的事,所以写null,不改变this指向了 相当于是bar(arguments) 把arguments当作参数传到了bar里面了 } function bar(x){ console.log(arguments); } foo(1,2,3,4,5)

    答案是:ACD

    例2:

    <script> /* function test(x,y,a){ arguments[2]=10; console.log(a); } test(1,2,3) */ function test(x,y,a){ a=10; console.log(arguments[2]); } test(1,2,3) </script>

    arguments是类数组,返回结果是object

    <script> (function(){ console.log(typeof(arguments)); }()) </script>
    Processed: 0.031, SQL: 9