js原型,原型链(不断补充中)

1.如何使用构造器?

function Person(name, age) {
   this.name = name;
   this.age = age;
}
var man = new Person("张三", 50);

2.什么是原型链?

a.所有的 JavaScript 对象都会从一个 prototype(原型对象)中继承属性和方法;
b.JavaScript 中的对象都是位于原型链顶端的 Object 的实例;
c.JavaScript 对象有一个指向一个原型对象的链。当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型proto(即它的构造函数的prototype),以及该对象的原型的原型,依次层层向上搜索,直到找到一个名字匹配的属性或到达原型链的末尾。
3.如何正确的给对象构造器中添加新的属性?使用 prototype 属性就可以给对象的构造函数添加新的属性或方法(而不是通过对象字面量)
Person.tall = "1.8m";
Person.prototype.sex = "男";
var man1 = new Person("李四", 22);
console.log(man1)//person{age: 22,name:'李四'}
console.log(man1.tall)//undefined
console.log(man1.sex)//

或方法:

Person.prototype.toString=function(){
    return this.name+"已经"+this.age+"岁了";
};
var man1 = new Person("王五", 23);
console.log(man1.toString())//王五已经23岁了
原文地址:https://www.cnblogs.com/wd163/p/15348137.html