對象及原型

1、OOP指什么,有哪些特性?

OOP(Object Oriented Programming),面向?qū)ο蟪绦蛟O計,是一種計算機編程架構(gòu)。
OOP特性:
封裝性:將一個類的使用和實現(xiàn)分開,只保留部分接口和方法與外部聯(lián)系。
繼承性:子類自動繼承其父級類中的屬性和方法,并可以添加新的屬性和方法或者對部分屬性和方法進行重寫。
多態(tài):允許不同類的對象對同一消息作出不同響應(對象可通過傳遞不同參數(shù)實現(xiàn)相同的動作)。

2、如何通過構(gòu)造函數(shù)的方式創(chuàng)建一個擁有屬性和方法的對象?

function Person(name){
  this.name = name;
  this.sayName = function(){
    console.log('Name is ' + this.name)
  }
}
var Person1 = new Person('Yun');
Person1.name;  //Yun
Person1.sayName(); //Name is Yun

3、prototype 是什么?有什么特性?

每個函數(shù)都有一個prototype屬性,指向原型對象。
每個對象都有個內(nèi)部屬性proto,指向構(gòu)造函數(shù)的prototype屬性。

4、代碼的原型圖

原型.png

5、以下代碼中的變量age區(qū)別

function People (){
  var age = 1  // 函數(shù)People的局部變量age
  this.age = 10; //實例變量,通過People函數(shù)創(chuàng)建的實例可以訪問此變量
}
People.age = 20; //People的age屬性

People.prototype.age = 30; //People對象的原型上的屬性
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容