Javascript良好的编程风格的简单例子?

时间:2009-12-24 11:22:34

标签: javascript

我正在努力使用Javascript。我的大多数问题都不是因为缺乏对语言的理解而产生的(好吧,那也是对我的承受)。相反,主要问题是了解什么是良好的编程/代码组织风格。

例如,我需要在页面中包含不同的实体(表单,文本区域,表格等),并根据事件(用户触发或Ajax)对其进行修改。

我的第一个想法是为每个实体定义一个类,在这些类的原型上定义方法,然后实例化将它们绑定到特定HTML id的类(隐式地或在用new实例化时),并在事件和事件之间注册处理程序。方法调用。换句话说,有点“QT式”。我很快意识到这不是微不足道的。你不能直接将对象方法注册为回调,你必须将它们包装在一个闭包中......等等。

我的另一个想法是声明一堆回调函数,没有对象,每个回调都对全局变量和DOM进行操作。快速而肮脏,没有大惊小怪。这就像您的页面只是一个大型对象,其事件在内部处理。

我能想到的每一个解决方案都让我感到极度误用了这个工具。最后,我感觉不舒服,因为我在编程经历中看到的JavaScript代码非常少,而且与我所遇到的所有语言都有很大不同。偷看我下载它的第一个东西肯定是浪费时间,因为它是压缩和/或模糊处理和/或不是“最新”与当前“良好的JavaScript实践”,所以我问你一个简单的,强大而干净的网页及其相关的javascript代码,可以快速进入正确的编程/代码布局风格。

(我正在使用jQuery,但我的问题与此无关。但是,使用jQuery的示例将是首选。)

3 个答案:

答案 0 :(得分:3)

我有一个如何在this question中创建JavaScript应用程序的示例。摘要是:

  • 为每个单例对象创建一个文件。在您的代码中,将ajax中间层和ui接口存储在单独的文件中
  • 通常在项目中为3个图层创建一个全局单例对象; GUI,后端和应用程序
  • 永远不要在Backend对象之外的任何地方使用纯粹的Ajax。将URL存储到Backend对象的serverside页面,并创建一个使用该URL联系服务器的函数。
  • 在服务器上有一个JSON类,可以向客户端报告错误和异常。在Backend对象中,检查返回的JSON对象是否包含错误,并调用GUI类中的serverError函数将错误呈现给用户(或开发人员)。

答案 1 :(得分:3)

我学会了从阅读Douglas Crockford的JavaScript: The Good Parts来编写JavaScript。他还有a lot stuff online你可以check out

我的基本风格是删除JavaScript的类创建机制,并通过创建带有闭包和对象文字符号的“对象”来更像Scheme。 (不确定你是否有任何关于Scheme的背景;如果没有,这种方法对你来说可能不太自然。)为了更好地解释如何做到这一点,Crockford有一篇短文here。这是一个简短的例子:

var pezDispenser = (function () {
    var amount = 20;
    return {
        dispense: function () {
            if (amount > 0) }
                amount -= 1;
                alert('delicious pez!');
            } else {
                alert('no more pez!');
            }
        }
    };
}());

pezDispenser.dispense();

我发现这是一种非常强大而灵活的方法。

Crockford还提供了语言herehere的一般风格指南。

希望这有帮助。

答案 2 :(得分:0)

这个问题很久以前就已经存在了。

但我喜欢这个页面:42 Javascript best practices (Opera)