这基本上是JSON脚本解码发生的理论问题。我是JSON和JavaScript的新手,所以正在接受教程。它给了我几个例子代码来工作。我发现这是因为我犯了一个错误。示例代码是this--JSON对象创建和JSON数组操作
<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>
我会得到以下output--
Create Object from JSON String
First Name: Jonatan
Last Name: Holla
但我不小心通过修改代码的第14行犯的一个错误。而不是“lname”,我再次输入了“fname”。
document.getElementById("fname").innerHTML=employees[2].lastName;
它提供了以下output--
Create Object from JSON String
First Name: Holla
Last Name:
为什么会出现这种情况?同意第二次在fname上调用getElementId导致在“名字”字段中输出“Holla”。但是,该声明如何否定了前面的陈述的任何影响? (即第13行)?
我看到它的第13行的方式首先将名字设置为“乔纳森”,你错误的行14用“霍拉”覆盖这个。姓氏留空,因为span#lname永远不会更改。对我来说这非常有意义。 – 2012-02-17 17:58:05
我在代码中看不到任何JSON。只有JavaScript对象和数组。 – 2012-02-17 18:00:53