我用jQuery的$.getScript方法去加载javaScript文档,两个文件的代码如下:
<script>
function Ajax(){ //将9-4.html中的Ajax()函数进行修改
 $.getScript('9-8.js',function(data){
 var html ="<table border='1' cellpadding='2'>";
  $.each(comments, function(Index, comment) {
      html += '<tr><td>' + comment.username + ':</td><td>' + comment['content'] + '</td></tr>';
  }) //comment['username']也可写成comment.username
html +="</table>"
//alert("Hello");
$("#target").html(html);
 }  );
}
</script>
<input type="button" value="Ajax提交" onclick="Ajax();" />
<div id="target"></div>
9-8.js代码
var comments = [
  {    "username": "张三",
    "content": "沙发."
  },
  {    "username": "李四",
    "content": "板凳."
  },
  {    "username": "王五",
    "content": "地板."
  } ];为什么comment['username']也可改写成comment.username,难道这里的comment既是对象又是数组。如果是数组,javaScript数组元素好像也不能写成comment['username']吧,只能写成comment[2]这样吧

解决方案 »

  1.   

    你这是json数据操作,json是以数组的形式存储内容,但是comments为一个对象.
      

  2.   

    comments 是个数组
    comment  是个对象。
    其实在javascript别乱叫对象。对象的意思可是好多的。
      

  3.   

    comments是数组,具体来说是json数组,而它的每个元素comment是json对象,并不是数组。既然是json对象,那么取值的方法有2种:comment.attribute或者comment['attribute']。
      

  4.   


    comments 是个数组
    comment  是个对象。
    我也是这样认为的是不是对于json对象,引用其属性有两种方式,即comment.attribute或者comment['attribute']。但是一般的对象,引用其属性好像只能是comment.attribute这种形式吧。我不知道对于json对象还可以这样引用comment['attribute']。我以为这样就是数组了。
      

  5.   

    在javascript中任何东西都可叫对象。
    任何东西都可用这两种方式访问
      

  6.   

    这就是json区别于数组的地方,自有它的特殊性