Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 试图理解js中的参数_Javascript - Fatal编程技术网

Javascript 试图理解js中的参数

Javascript 试图理解js中的参数,javascript,Javascript,它显示:H+[“H”、“e”、“l”、“l”、“o”] 问题: 为什么消息只显示H,而不显示[“H”、“e”、“l”、“l”、“o”]?您的函数f只有一个参数,并且您正在传递5个独立的值或参数,由于您只有一个参数来接收它,因此只有值为'H'的第一个参数才是唯一被接受的参数。消息是您要传递到的第一个参数函数,在本例中是“H”,参数,它是一个类似数组的对象,保存您传入的所有参数 一些信息: 这里发生的事情是,您将5个参数传递给f。由于函数中只有一个参数,因此只有第一个参数分配给消息 但是,如您

它显示:H+[“H”、“e”、“l”、“l”、“o”]

问题:


为什么消息只显示
H
,而不显示
[“H”、“e”、“l”、“l”、“o”]

您的函数
f
只有一个参数,并且您正在传递5个独立的值或参数,由于您只有一个参数来接收它,因此只有值为'H'
第一个参数才是唯一被接受的参数。

消息是您要传递到的第一个参数函数,在本例中是
“H”
参数
,它是一个类似数组的对象,保存您传入的所有参数

一些信息:


这里发生的事情是,您将5个参数传递给f。由于函数中只有一个参数,因此只有第一个参数分配给
消息


但是,如您所知,其他四个仍然在
参数
伪数组中

您正在向函数传递5个参数:

function f(message)
{

  console.log(message,arguments);

}

f("H", "e", "l", "l", "o");
arguments变量是一个特殊变量,包含函数的所有参数

因为可以使用arguments变量,所以可以省略arg1、arg2、arg3部分:

function test(arg1,arg2,arg3){
  console.log(arg1);//=1
  console.log(arg2);//=2
  console.log(arg3);//=3
  console.log(arguments);//[1,2,3,4,5]
}
test(1,2,3,4,5);
通常人们不会这样做,因为不清楚传递给函数的是什么。为了更清楚地说明函数应该返回什么以及应该传递哪些变量,可以使用JSDoc。许多IDE在自动完成/代码辅助时使用此选项来显示有关该方法的更多信息

function test(){
  console.log(arguments[0]);//=1
  console.log(arguments[1]);//=2
  console.log(arguments[2]);//=3
  console.log(arguments);//[1,2,3,4,5]
}
test(1,2,3,4,5);

函数
f
只接受一个参数,即
消息
。但是在函数调用过程中,您要传递5个参数,即
“H”、“e”、“l”、“l”、“o”
。如果您想在消息中获得全部信息,请使用以下任一方法传递:

  • 在单个字符串中
    f(“Hello”)
  • 连接字符串
    f(“H”+“e”+“l”+“l”+“o”)
  • 或者将其作为数组传递
    f([“H”、“e”、“l”、“l”、“o”)

  • arguments
    变量是javascript的一种内部函数处理机制,即当您将参数传递给函数时,它会被分配给函数在其签名中定义的变量,但这些变量的数组列表也会保存在名为arguments的函数变量中。

    Message=H和arguments函数中传递的都是什么?为什么要传递错误数量的参数?
    /**
     * Gets user By Id
     * @param {Number} id
     * @returns {User}
     */
    var getUserById=function(id){
        return u;
    }