Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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 JSON对象创建和JSON数组操作_Javascript_Json_Arrays - Fatal编程技术网

Javascript JSON对象创建和JSON数组操作

Javascript JSON对象创建和JSON数组操作,javascript,json,arrays,Javascript,Json,Arrays,这基本上是一个关于JSON脚本解码方式的理论问题。我不熟悉JSON和JavaScript,所以我参加了一个教程。它给了我一些示例代码。我发现这是因为我犯了一个错误。示例代码如下-- 但我无意中犯了一个错误,修改了代码的第14行。我没有输入“lname”,而是再次输入了“fname” 它给出了以下输出-- 为什么会这样?同意在fname上第二次调用getElementId会导致在“First Name”字段中输出“Holla”。但是,那句话是如何否定前面那句话的任何影响的呢?(即,第13行)?它不

这基本上是一个关于JSON脚本解码方式的理论问题。我不熟悉JSON和JavaScript,所以我参加了一个教程。它给了我一些示例代码。我发现这是因为我犯了一个错误。示例代码如下--

但我无意中犯了一个错误,修改了代码的第14行。我没有输入“lname”,而是再次输入了“fname”

它给出了以下输出--


为什么会这样?同意在fname上第二次调用getElementId会导致在“First Name”字段中输出“Holla”。但是,那句话是如何否定前面那句话的任何影响的呢?(即,第13行)?

它不是否定它,而是覆盖它

你首先说:用fname写“Jonatan”。然后你说用fname写“Holla”。所以最后你只看到“你好”


lname是空的,因为你不再设置它了,而是设置了2次fname。

在我看来,第13行首先将名字设置为“Jonathan”,而你错误的第14行将其覆盖为“Holla”。姓氏保留为空,因为span#lname从未更改。对我来说,这很有意义。我在你的代码中没有看到任何JSON。只有JavaScript对象和数组。好的,所以当脚本运行时,在输出显示在屏幕上之前,所有的.innerHTML方法都将被评估。我说的对吗?是的,这个脚本是立即执行的,你看到的就是结果。
<html>
<body>
<h2>Create Object from JSON String</h3>
<p>First Name: <span id="fname"></span></p> 
<p>Last Name: <span id="lname"></span></p>
<script type="text/javascript">
var employees = [
{ "firstName" : "John" , "lastName" : "Doe" }, 
{ "firstName" : "Anna" , "lastName" : "Smith" }, 
{ "firstName" : "Peter" , "lastName" : "Jones" }, ];
employees[1].firstName="Jonatan";
employees[2].lastName="Holla";
document.getElementById("fname").innerHTML=employees[1].firstName;
document.getElementById("lname").innerHTML=employees[2].lastName;
</script>

</body>
</html>
Create Object from JSON String

First Name: Jonatan

Last Name: Holla
document.getElementById("fname").innerHTML=employees[2].lastName;
Create Object from JSON String

First Name: Holla

Last Name: