2011-04-27 60 views
2

根據我在JavaScript中的知識,有對象,我們可以創建一個函數的對象,或者我們可以使用文字符號創建對象..我從來沒有見過類的概念在javascript.recently我已經開始學習EXTJS(一個JavaScript圖書館)..在EXTJS人們說像預定義的類(如.EXT,面板等)在那裏,甚至在API文檔,他們寫作課堂..這對我來說沒有意義..我的問題是在ExtJs框架中有一個概念類嗎?

1.爲什麼extjs人們使用的詞「CLASS」

2.if類概念在extjs中有什麼我必須認爲它?

3.is js中有一個「CLASS」的概念(我認爲不是)?

回答

2

一切就像一個對象(JavaScript是一種基於原型的,面向對象的腳本語言)與僅有的兩個例外是nullundefined 。即使函數是對象(事實上,這就是爲什麼JavaScript是說有first-class-functions

對於ExtJS的,「類」是虛擬概念:即由框架的作者創造了一個概念上的擴展(依賴於JavaScript聲明類的方法)

+0

感謝dmarucco.now它對我來說很有意義爲什麼extjs人們使用術語「class」 – user475627 2011-04-27 09:01:23

0

不,Javascript中沒有類,但它支持一些面向對象的原則。你可以讓你可以作爲構造使用對象的功能:

function Point(x, y) { 
    this.x = x; 
    this.y = y; 
} 

通過使用new關鍵字,該功能將被用來作爲構造:

var p = new Point(4, 5); 

使用prototype關鍵字即可將方法添加到使用特定函數創建的對象中,這類似於將方法放入類中。

儘管就語言而言,這實際上不是一個階級,但至少在某些方面,它像一個階級一樣走路和說話。在描述打算如何使用它時,使用術語類是有用的,即使它實際上不是類。

+0

**「在描述打算如何使用它時使用術語類是有用的,即使它實際上不是類。」 **好句子 – user475627 2011-04-27 09:20:12