上午在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