我刚刚开始使用的JavaScript已经有多年的C#和面向对象的语言工作。如何保持清洁的Javascript
我发现,我把我的代码文件这样,
database.js
sync.js
date.js
而且它感觉非常的程序,基本上只是一堆可以从任何地方被称为公共职能。可以使JavaScript成为面向对象,还是比这更清洁?
对我来说,好像这会变得非常大,杂乱很容易。
我刚刚开始使用的JavaScript已经有多年的C#和面向对象的语言工作。如何保持清洁的Javascript
我发现,我把我的代码文件这样,
database.js
sync.js
date.js
而且它感觉非常的程序,基本上只是一堆可以从任何地方被称为公共职能。可以使JavaScript成为面向对象,还是比这更清洁?
对我来说,好像这会变得非常大,杂乱很容易。
JavaScript不使用“经典”的对象方向,您使用的方式是使用不同的面向对象方案,标记为“Prototypal”。我建议你阅读这篇文章,以从语言的优势中提取最多的信息。
当然也可以使用一个模块装配像modul8或browserify
如果你想OO然后使用OO然后重写,像这样
// date.js
var dateUtils = {
...
};
module.exports = dateUtils;
// database.js
var database = module.exports = {
...
};
// sync.js
var sync = module.exports = {
...
}
// main.js
var sync = require("./sync.js"),
database = require("./database.js"),
date = require("./date.js");
/* main body of code */
当然你的代码。 JavaScript有原型的OO,我有a series about prototypical OO这是值得一读。
而下面的gist说明了一个很好的OO模式。
OO JS上的好帖子。 +1'<! - [如果LT IE 9]>走'你的博客!我做同样的事情。你的文档在哪里? – ThinkingStiff 2012-01-17 00:13:19
@ThinkingStiff我忘了我有。至于[DOCTYPE,它的一个bug](https://github.com/Raynos/trinity/issues/5) – Raynos 2012-01-17 00:29:30
第一个问题是,如果你发布的这些js文件都没有共同之处,我没有看到单独的文件有什么问题。如果您重新使用各种功能,则只能合并这些文件。当然,js可以更加面向对象。您是否使用JS执行的对象操作'变种C =新客户();'或者你用JS验证网页?那里差别很大。 – JonH 2012-01-16 20:01:46