2010-06-14 40 views
2

您好我正在轉換一些原型的JavaScript到jQuery的JavaScript。jQuery插件和原型類

在原型中我們可以做Class.create來創建一個類。但是,jQuery不提供這個。所以我打算把這個類重寫成一個jQuery插件。這是最佳做法嗎?我擔心的是,如果我爲班級做所有事情,那麼我會爲jQuery對象添加很多東西。

另一種選擇是使用一些額外的代碼行,我發現http://ejohn.org/blog/simple-javascript-inheritance/#postcomment。然後你可以做以下事情:

var Person = Class.extend({ 
    init: function(isDancing){ 
    this.dancing = isDancing; 
    }, 
    dance: function(){ 
    return this.dancing; 
    } 
}); 

否則,我發現這個名爲HJS的jQuery插件,允許您創建類。 http://plugins.jquery.com/project/HJS

但是,我沒有使用是否需要使用這些插件來允許我使用Class,或者我可以將類轉換爲編寫jQuery插件的方式,請指教。非常感謝你!

回答

1

jQuery不處理JavaScript原型繼承。
我不認爲用jQuery來處理你的類是正確的 - 它根本就不是這個意思。 jQuery的主要優勢在於跨瀏覽器兼容性,ajax和DOM操作。除此之外,它提供的功能非常少,並且不像原型那樣提供任何JavaScript擴展。
許多此功能的遷移是不可能的,但您可以繼續使用您需要的原型功能。

+0

感謝您的回答。我想你是對的。 jQuery插件並不意味着這一點。當我開始從原型到jQuery的遷移時,我意識到原型在DOM操作的所有方法方面具有更多的權力,因爲它們擴展了本地DOM元素。但是,我不能保留原型的功能。我需要將所有內容轉換爲jQuery。我不想維護兩個不同的框架。所以也許我應該使用上面的class.Extend方法來實現類似Prototype class.create的東西。 – Shanison 2010-06-14 13:55:21