我的理解:prototype是只针对数组的,不是针对数组中的元素的,所以Users[i].Name会出现问题,而Users.Name 就没问题。
BTW,为什么管理用户信息一定要用属性而不直接对数组元素赋值呢?

解决方案 »

  1.   

    <script>
    Array.prototype.Name //= "John" ;
    Array.prototype.Gender //= "Male" ;
     
    var Users = new Array(2) ;

    for(var i = 0 ; i < Users.length ; ++i)
    {
    Users[i] = new Array();
    Users[i].Name = prompt("input name:") ;
    Users[i].Gender = prompt("input gender:") ;
    }
    </script>
      

  2.   

    <script>
    function User()
    {
              this.Name = "John" ;
    this.Gender = "Male" ;
    }
    var Users = new Array(2) ;

    for(var i = 0 ; i < Users.length ; ++i)
    {
    Users[i] = new User();
    Users[i].Name = prompt("input name:", Users[i].Name) ;
    Users[i].Gender = prompt("input gender:", Users[i].Gender) ;
    }
    </script>
      

  3.   

    <script>
    function User()
    {
              this.Name = "John" ;
    this.Gender = "Male" ;
    }
    var Users = new Array(2) ;

    for(var i = 0 ; i < Users.length ; ++i)
    {
    Users[i] = new User();
    Users[i].Name = prompt("input name:", Users[i].Name) ;
    Users[i].Gender = prompt("input gender:", Users[i].Gender) ;
    }
    </script>