上午在JavaScript OOP新变化,请多多包涵值不是继承通过原型
改变从继承的对象学生父对象的值应该改变人的年龄,但我得到完全相同的值。
<script>
function Person(age){
this.age=age;
}
function Student(){}
var person=Student.prototype=new Person(10);
var oldAge=person.age;
Student.age=20;
var newAge=person.age;
alert("Person old age="+oldAge+"\New age="+newAge);
</script>
为person
和Student
来自同一Person
对象继承随后的两sudent和人的年龄值应改变从学生
改变价值,我已经通过Prototypical inheritance - writing up和JavaScript Inherited Properties Default Value问题
去问题是我想通过继承Person属性的Student来更改Person的值。
我想我错过了一些东西,请帮我理解这一点。
[不要使用Student.prototype = new Person(10);'!](https://stackoverflow.com/questions/12592913/what-is-the-reason-to-use-the-new-关键字 - 在这里) – Bergi
多数民众赞成在问题@Bergi我想通过学生改变人的价值 – phpdroid
那么你应该[正确从'人'继承'学生'](https://stackoverflow.com/questions/10898786/correct-javascript ),然后使用'var studentOne = new Student();的console.log(studentOne.age); studentOne.age = 20; ...' – Bergi