【发布时间】:2011-07-25 14:00:17
【问题描述】:
我正在做一个项目,我真的在尝试编写面向对象的 JavaScript 代码。我刚刚开始阅读Douglas Crockford's JavaScript: The Good Parts,我很快就开始意识到用 JavaScript 编写 Java 式 OOP 将是一项艰巨的任务。
到目前为止,我已经写了类似以下的内容...
// 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 中的 OOP 方法的建议,我很想看到对讨论这个主题的资源/教程/文章/等的引用。即使选择了答案,也请随时提供反馈。我正在寻找你的建议......这就是我发布的原因:)
** 注意:我不是在开发 jQuery 插件。我正在开发一个网络应用程序并大量使用 jQuery。
【问题讨论】:
-
查看 require.js 以处理中大型项目的文件加载和依赖关系。
-
@Raynos... 肯定会看看。是不是类似于headjs.com
标签: javascript jquery oop namespaces