2012-03-29 151 views
-2

是否有超類或類似javascript的語言,提供更經典的C++/java/c#類OO系統。但是可以與HTML-5和DOM一起使用並且具有跨平臺的實現?面向Javascript的OOP解決方案?

+2

CoffeeScript?這顯然會被編譯成JS。 – Aliostad 2012-03-29 11:22:52

+7

你如何不再懶惰,而是學習新的編程範例。 JS是基於原型的面嚮對象語言,而不是基於類。對程序員來說,這是一種恥辱,要求*「我可以讓X語言像Y語言一樣嗎?」*。 – 2012-03-29 11:22:56

+0

@tereško_sigh_。我只是想做一個小的HTML-5畫布演示。猜猜這沒有捷徑。我將不得不花兩天的時間學習基於原型的OOP來做15分鐘的演示。 :( – ApprenticeHacker 2012-03-29 11:28:06

回答

1

是的,這就是所謂的JavaScript。有一些很好的articles about OOP around

var Parent = { 
    method: function() { 
    ... 
    } 
} 

var Child = Object.create(Parent, { 
    childMethod: { value: function() { 
    ... 
    } } 
}) 

任何試圖在JavaScript中模擬類系統是在浪費時間和結束寫臃腫/不可讀/不可維護的代碼。

如果上面的太醜陋了,請考慮使用extend function

4

你可以給CoffeeScript一試。

它編譯成JavaScript,所以它確實是跨平臺的。

至於腳本而言,它也使用HTML5標籤兼容,但它不是一個真正的問題:是HTML的標記語言,JavaScript的(或者CoffeeScript的)是腳本語言。因此,您仍然可以使用CoffeeScript選擇或編輯(HTML5)元素;該腳本將被編譯爲JavaScript,並且仍然可以工作。

+1

應該指出的是,CoffeeScript有一系列的系列問題,需要一個受過教育的關於是否值得使用 – Raynos 2012-03-29 11:26:32

1

除了建議學習的CoffeeScript上面,你可以嘗試一對夫婦JavaScript的模式。

我最近看一個pluralsight截屏(結構javascript代碼),我還了解到了幾個JavaScript的模式,但我真的很喜歡「揭示原型模式」。

非常簡潔明瞭,你會得到一些OOP的封裝,包括等人的好處。

Pluralsight提供免費10天的試用期,所以我想你可以很容易地得到了它的速度。

+0

A「揭示原型模式」的決定很可能是對性能不好 – Raynos 2012-03-29 11:32:45

+0

@Raynos我不知道肯定,但教師明確表示,該模式是高效的性能明智的。而我只是嘗試了一些簡單的東西,所以我不能要求任何東西。 – scartag 2012-03-29 11:34:11

+0

如果它包含在構造函數內部創建閉包,那麼他就性能效率撒謊 – Raynos 2012-03-29 11:36:53