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 }
相關文章
相關標籤/搜索