<script language="JavaScript1.2">
function Car(cName,iDom){
this.name=cName;
this.dom=iDom;
}
Car.prototype.show=new function(){alert(this.name)}
var car1=new Car("Liu",2);
var car2=new Car("gong",4);
car1.show(); //这里输出总是undefined,而不是"Liu"为什么呢?
</script>今天看好多地方都是这样子定义的,而且都说输出的是"Liu",但是为什么我总是不能输出正确的值呢?

解决方案 »

  1.   


    <script>
    function Car(cName,iDom){ 
      this.name=cName;
      this.dom=iDom;

    Car.prototype.show = function(){alert(this.name)} var car1=new Car("Liu",2); 
    var car2=new Car("gong",4); car1.show();</script>
      

  2.   

    不需要new
    Car.prototype.show = function(){alert(this.name)} 
      

  3.   

    2楼是仅仅将script后的language="JavaScript1.2"去掉吗,经过测试,还是显示Undefined,我的浏览器是IE 8.0 不知道是浏览器的问题吗?
      

  4.   

    哦,看出来了,原来去掉了个new,感谢2楼。