首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

朋友们,路过来看看,该如何解决

2012-09-11 
朋友们,路过来看看scriptfunction wandiannao(name,age,number){this.namenamethis.ageagethis.numb

朋友们,路过来看看
<script>
  function wandiannao(name,age,number)
  {
  this.name=name;
  this.age=age;
  this.number=number;
  this.look=function()
  {
alert("看电视");
  }
  wandiannao.prototype.aaa={class:"一班"};
  }
  wandiannao.prototype.play=function()
  {
alert("玩电脑");
  }
  var b=new wandiannao("yangcai",22,20102110130111);
var c=new wandiannao("liutian",20,20102110130203);
  alert(b.aaa.class);
alert(b.aaa.class="二班");
alert(b.aaa.class);
alert(c.aaa.class);
  </script>
怎么输出的是:一班————>二班————>二班————>二班
我自己认为是要输出:一班————>二班————>二班————>一班
  alert(b.aaa.class);
alert(b.aaa.class="二班");//这里只是b的那个共享属性改变了,为什么
alert(b.aaa.class);
alert(c.aaa.class); 这里c的那个共享属性也改变了呀!!!!!!我不懂!!求高手指点。。。。


[解决办法]
原型属性是共享的

JScript code
  <script>    function Person(){}    Person.prototype.friends = ['tom','jack'];    var person1 = new Person();    var person2 = new Person();    person1.friends.push('rose');    alert(person1.friends);//tom,jack,rose    alert(person2.friends);//tom,jack,rose  </script>
[解决办法]
不是复制的,你改成这个样子,就是你要的了
JScript code
    function wandiannao(name,age,number){        this.name=name;        this.age=age;        this.number=number;        this.look=function(){            alert("看电视");        }        this.aaa={class:"一班"};            } 

热点排行
Bad Request.