????????????????????
????????????ù????????????????
????function Person() {
????}
????var person = new Person();
????person.name = 'name';
????console.log(person.name) // name
??????????????У?Person????????????????????new????????????????person??
????????????????????????
????prototype
??????????????????prototype????????????????????????п????????prototype?????磺
????function Person() {
????}
????// ???д?????????????????
????// prototype?????????е?????
????Person.prototype.name = 'name';
????var person1 = new Person();
????var person2 = new Person();
????console.log(person1.name) // name
????console.log(person2.name) // name
???????????????prototype???????????????????????????????????
???????????????prototype??????????????????????????????ù?????????????????????????????????е?person1??person2??????
?????????????????????????????????JavaScript????(null????)???????????????????????????????????????????????????????????????"???"?????
?????????????????????????????????????????

???????????????????Object.prototype?????????
?????????????????????????????????person??Person.prototype?????????????????????????????????
????__proto__
????????????JavaScript????(????null)?????е???????????__proto__??????????????????????
??????????????????????????????????????
????function Person() {
????}
????var person = new Person();
????console.log(person.__proto__ === Person.prototype); //true
????????????????1?????

?????????????????????????????????????????????????????????????????
????constructor
????????????????У???????????????????????????????????????????????е????????????????????construcotr??????????????constructor?????????????????
??????????????????????????
????function Person() {
????}
????console.log(Person === Person.prototype.constructor); //true
??????????????1?????

????????????????ó???
????function Person() {
????}
????var person = new Person();
????console.log(person.__proto__ == Person.prototype) // true
????console.log(Person.prototype.constructor == Person) // true
????// ????????ES5?????????????????????
????console.log(Object.getPrototypeOf(person) === Person.prototype) //true
??????????????????????????????????????????????????????????????
????????????
??????????????????????????????????????????????????е????????????鯔????????????????????????????
????????????
????function Person() {
????}
????Person.prototype.name = 'name';
????var person = new Person();
????person.name = 'name of this person';
????console.log(person.name) // name of this person
????delete person.name;
????console.log(person.name) // name
??????????????У???????????person??name?????????????????????'name of this person'?????????????person??name??????????person.name????person??????????person????????person.__proto__ == Person.prototype?в?????????????????????'name'????????????????????????????????????
????????棬???????????????????????????????????????????????????????????
????var obj = new Object();
????obj.name = 'name'
????console.log(obj.name) // name
???????????????????Object????????????????????????????__proto__?????????prototype????????????????1?????

?????????
??????Object.prototype????????
????null???????null??????鵽Object.prototype????????????
?????????????????

???????????£??????????????????????????????????????????????????
????????
?????????????????????Щ???????????
??????????constructor??
????function Person() {
????}
????var person = new Person();
????console.log(person.constructor === Person); // true
?????????person.constructor??????person?в????constructor???????????????constructor??????????person????????Person.prototype?ж??????????????и??????????
????person.constructor === Person.prototype.constructor
?????????__proto__?? ???????????????????????????????????????????????????Person.prototype?У?????????????????Object.prototype???????????????????????????getter/setter???????obj.__proto__????????????????Object.getPrototypeOf(obj)
????????????У???????????“??????????????"???"????”????????????????????????????????????á????????JavaScript???е??????:?????ζ?????????????JavaScript???????????????????????JavaScript????????????????????????????????????????????????з???????????????????????????????м?У???е????????????Щ??