js你如何理解面相對象 JS面向對象編程:b怎么繼承a

如何理解并學習javascript中的面向對象
首先,對象的定義大致如下:
對象(object)是JavaScript的核心概念,也是最的數據類型 。JavaScript的所有數據都可以被視為對象 。
簡單說,所謂對象,就是一種無序的數據集合,由若干個逗鍵值對地(key-value)構成 。
var o = {
p: "Hello World"
};
上面代碼中,大括號就定義了一個對象,它被賦值給變量o 。這個對象內部包含一個鍵值對(又稱為逗成員地),p是逗鍵名地(成員的名稱),字符串逗Hello World地是逗鍵值地(成員的值) 。鍵名與鍵值之間用冒號分隔 。如果對象內部包含多個鍵值對,每個鍵值對之間用逗號分隔 。
我們從兩個層次來理解 。
(1)逗對象地是單個實物的抽象 。
一本書、一輛汽車、一個人都可以是逗對象地,一個數據庫、一張網頁、一個與遠程服務器的連接也可以是逗對象地 。當實物被抽象成逗對象地,實物之間的關系就變成了逗對象地之間的關系,從而就可以模擬現實情況,針對逗對象地進行編程 。
(2)逗對象地是一個容器,封裝了逗屬性地(property)和逗方法地(method) 。
所謂逗屬性地,就是對象的狀態;所謂逗方法地,就是對象的行為(完成某種任務) 。比如,我們可以把動物抽象為animal對象,逗屬性地記錄具體是那一種動物,逗方法地表示動物的某種行為(奔跑、捕獵、休息等等) 。
其次,典型的面向對象編程語言(比如C和Java),存在逗類地(class)這樣一個概念 。所謂逗類地就是對象的模板,對象就是逗類地的實例 。JavaScript語言沒有逗類地,而改用構造函數(constructor)作為對象的模板 。
前面說過,逗對象地是單個實物的抽象 。所以,通常需要一個模板,表示某一類實物的共同特征,然后逗對象地根據這個模板生成 。
JS面向對象編程:b怎么繼承a
【js你如何理解面相對象 JS面向對象編程:b怎么繼承a】function A(name){
this.name = name;
this.sayHello = function(){alert(this.name ” say Hello!”);};
}
function B(name,id){
this.temp = A;
this.temp(name);//new A();
delete this.temp;
this.id = id;
this.checkId = function(ID){alert(this.id==ID)};
}