我正在開發一個項目,我真的想編寫面向對象的JavaScript代碼。我剛開始閱讀Douglas Crockford's JavaScript: The Good Parts,我很快就意識到在JavaScript中編寫Java-esque OOP將是一項艱鉅的任務。JavaScript中的Java-esque OOP和jQuery失敗
到目前爲止,我已經寫了類似如下的...
// index.html
$(document).ready(function() {
$().SetUpElements();
});
// this is in a different js file
$.fn.SetUpElements = function() {
// do stuff here
$().UpdateElement();
};
// this is in yet another different js file
$.fn.UpdateElement = function() {
// do stuff here
var element = new Element(id, name); // continue doing work
};
function Element(id, name) {
var id = id;
var name = name;
// other stuff
};
...的想法是,我希望對象/函數進行重構和脫鉤儘可能多地;我想盡可能多地重複使用代碼。我已經將很多代碼分佈在不同的.js文件中,旨在將特定的相關代碼分組在一起,就像您將使用Java編寫不同的類一樣。
由於我已經瞭解了更多關於jQuery的知識,我意識到$.fn.foo = function() { ... };
這個符號實際上是將這個foo
函數添加到所有jQuery對象的原型中。這是我應該做的事嗎?我以某種方式濫用jQuery?
我將不勝感激關於如何改進我在JavaScript中使用面向對象的方法的建議,我很樂意看到有關源/教程/文章/等的參考資料......討論此主題。即使選擇了答案,也請隨時提供反饋意見。我正在尋找你的建議......這就是我發佈的原因:)
**注意:我沒有開發jQuery插件。我正在開發一個Web應用程序,並大量使用jQuery。
查看require.js來處理大中型項目的文件加載和依賴項。 – Raynos 2011-04-01 15:27:26
@Raynos ...絕對會看看。是類似http://headjs.com/ – Hristo 2011-04-01 15:35:39