js面向对象编程--廖雪峰的官方网站

建立对象函数

建立对象(即封装数据),能够直接建立,如this

1 var person={ 2     name:'cat', 3     age:'10', 4     sayName:function(){ 5         console.log(this.name); 6  } 7 }

也能够经过构造函数的方式来建立,如:spa

1  function Person(name,age){ 2      this.name=name; 3      this.age=age; 4      this.sayName=function(){ 5          console.log(this.name); 6  } 7  }

而后,经过new关键字来实例化一个对象prototype

1 var person1=new Person('lala',20); 2  person1.sayName(); //lala

js在建立对象时,都会给给对象设置一个__proto__属性,它指向对象的原型。code

对象

1 var arr=[1,2,3];

arr-->Array.prototype-->Object.prototype-->nullblog

1 function show(){ 2     console.log('helle'); 3 }

show-->Function.prototype-->Object.prototype-->null原型链

当以object.xxx访问对象的某个属性时,若该对象上没有这个属性时,就会在对象的原型对象上去找...一直找到原型链的最顶端,即null为止。get

基于原型的特性,咱们能够将对象的公共属性都放在原型对象上,避免屡次建立。原型

1 Person.prototype.hate='work'; 2 Person.prototype.getName=function(){ 3     console.log(this.name); 4 }