日期:2014-05-16  浏览次数:20318 次

初学javascript中遇到的奇怪的问题,求解
以下这段代码是 《javascript高级编程》中6.2.3中的一个类似例程。

<!DOCTYPE html>
<html>

<head>

<title></title>

</head>

<body>
<script>

function Person(name,age,job){
    Person.prototype.pname=name;
    Person.prototype.age=age;
    Person.prototype.job=job;
    this.sayName= function(){alert("Person name="+this.pname);};
}

function Person1(){
    Person1.prototype.name="personname";
    Person1.prototype.age=20;
    Person1.prototype.job="job";
    Person1.prototype.sayName= function(){alert("Person1 name="+this.name);};
}

    
window.onload = writeMessage;
function writeMessage() {
    var person11 =new Person("xiexie",30,"job");
    person11.sayName(); //ok! 输出 xiexie    
    var person2= new Person1();
    person2.sayName();//ok!  输出 personname
    person11.sayName();//  error!!!!!!!!!!  输出 undefined

}
</script>
<p>     Hollo Word! ! </p>
</body>

</html>

为什么第二次 person11会输出 undefined??

------解决方案--------------------
我调试了 是正确的啊 弹出的是xiexie啊