Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/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-What';在这个节目中,他和#2在一起_Javascript - Fatal编程技术网

JavaScript-What';在这个节目中,他和#2在一起

JavaScript-What';在这个节目中,他和#2在一起,javascript,Javascript,根据我正在阅读的教程,下面的程序显示“Hello Ima Reader” 关于这个项目我有一个问题。为什么它在最后一行将“2”插入到警报(名称[2]) 在最后第二行调用函数时,它只传递“name”,但在运行警报时使用“2”。我假设2指的是名字的长度,但有必要吗?若然,原因为何 function makeHello(name) { name[name.length] = "Hello" + name [0] + " " + name[1]; } var name = new Array (

根据我正在阅读的教程,下面的程序显示“Hello Ima Reader”

关于这个项目我有一个问题。为什么它在最后一行将“2”插入到
警报(名称[2])

在最后第二行调用函数时,它只传递“name”,但在运行警报时使用“2”。我假设2指的是名字的长度,但有必要吗?若然,原因为何

function makeHello(name) {
   name[name.length] = "Hello" + name [0] + " " + name[1];
}

var name = new Array ('Ima', 'Reader');
makeHello(name);
alert(name[2]); 

makeHello向数组“name”添加一个新项。这个新项是单词“Hello”加上数组中的第一项和第二项。因此,makeHello[2]返回“Hello Ima Reader”


makeHello正在尝试将新项添加到数组的末尾。如果不知道数组的大小,则可以调用name.length返回一个值,该值将表示新/最后一项的位置。

此代码正在执行一些复杂的操作。
makeHello(name)
调用将一个2元素数组传递给
makeHello()
函数。此时,
hello
如下所示:

['Ima', 'Reader']
['Ima', 'Reader', 'Hello Ima Reader']
makeHello
函数从传入的数组中读取前两个元素,但不更改它们,并使用它们在数组末尾插入新元素。当
makeHello
完成时,
hello
如下所示:

['Ima', 'Reader']
['Ima', 'Reader', 'Hello Ima Reader']
调用
alert()
只需从
hello
数组中获取最后一个元素



总的来说,这段代码使用了相当糟糕的风格,我建议使用更好的教程来学习JavaScript。是一个顶级的JS资源。

var name=new数组('Ima','Reader')
创建一个名为
name
的数组,其中元素
0
设置为
“Ima”
,元素
1
设置为
“Reader”

下一行,
makeHello(name)
,调用
makeHello
函数,该函数在
name
数组中创建一个元素
2
,设置为
“Hello Ima Reader”


最后一行,
alert(名称[2])
仅显示由
makeHello
函数创建的元素
2

2表示名称数组中的第三个位置,该位置是在makeHello函数中设置的。

谢谢。查看程序的第二行,代码“name.length”的目的是通过获取原始数组“name”的长度(即2)来设置新元素“Hello Ima Reader”在数组中的位置吗?这就是为什么name.length放在[]括号中的原因吗?