1.构造函数创建对象
function Human(id,name) { this.id=id; //属性 this.name=name; this.info=function () { //方法 console.log("info:"+this.id+this.name); } } Human.age=18; //静态属性 Human.parse=function () { //静态方法 console.log(this) } //创建对象 var human=new Human(1,"levi");
2.原型对象
function Human() { } //构造函数访问原型对象 Human.prototype
每一个构造函数都有一个prototype属性,这个属性指向原型对象
这个属性,构造函数与对象都可以通过不同的方式访问到
我们可以把那些不变的共享的方法 定义在原型对象上
3.对象原型
function Human() { } var human=new Human(); //对象访问 对象原型 humanhuman.__proto__; console.log(human.__proto__ == Human.prototype) //true
对象都会有一个属性_proto_,这属性指向了prototype原型对象
4.原型对象中的constructor属性
原型对象中的constructor属性 指向构造函数
5.原型链
原型对象的原型对象指向的是Object中的原型对象,Object中的原型对象是null
6.方法与属性的查找机制
当一个对象调用一个方法或属性时,首先在查找自身,然后原型对象上,Object中的原型对象上,返回null值
7.原型对象this指向问题
谁调用 this 就指向谁
标签:属性,对象,原型,Human,prototype,构造函数 From: https://www.cnblogs.com/ErenYeager/p/17101239.html