代码之家  ›  专栏  ›  技术社区  ›  Stefano Borini

javascript良好编程风格的简单示例?

  •  6
  • Stefano Borini  · 技术社区  · 16 年前

    我在和javascript做斗争。我的大多数问题并不是因为对语言缺乏理解(好吧,那也一样,但请容忍我)。相反,主要的问题是理解什么是好的编程/代码组织风格。

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

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

    我的另一个想法是只声明一堆回调函数,没有对象,每个回调操作全局变量和dom。又快又脏,别大惊小怪。就像你的页面只是一个大对象,它的事件是在内部处理的。

    我所能想到的每一个解决方案都让我感觉到我严重地滥用了这个工具。最后,我觉得不舒服,因为我在编程经验中看到的javascript代码很少,而且它与我所使用的所有语言都有很大的不同。浏览一下我下载的第一个东西,它肯定是浪费时间,因为它是压缩的和/或模糊的,和/或不是当前“良好的javascript实践”的“最新”,所以我要求您使用一个简单、强大和干净的web页面及其相关的javascript代码快速进入正确的编程/代码布局风格。

    (我正在使用jquery,但我的问题与此无关。不过,最好是使用jquery的示例)。

    3 回复  |  直到 13 年前
        1
  •  3
  •   Community Mohan Dere    8 年前

    我有一个如何在 this question . 总结如下:

    • 为每个单例对象创建一个文件。在代码中,将ajax中间层和ui接口存储在不同的文件中
    • 为项目中的3个层(gui、后端和app)创建一个全局singleton对象
    • 不要从后端对象之外的任何地方使用纯ajax。将URL存储到后端对象中的服务器端页,并创建一个使用该URL与服务器联系的函数。
    • 在服务器上有一个json类,可以向客户端报告错误和异常。在后端对象中,检查返回的json对象是否包含错误,并调用gui类中的servererror函数向用户(或开发人员)显示错误。
        2
  •  3
  •   Sean Devlin    16 年前

    我通过阅读道格拉斯·克罗克福德的 JavaScript: The Good Parts . 他也有 a lot 属于 stuff online 你可以 check out .

    我的基本风格是放弃javascript的类创建机制,通过使用闭包和对象文字符号创建“对象”,将其更像scheme。(不确定你是否有策划的背景;如果没有,你可能会觉得这种方法不太自然。)为了更好地解释如何做到这一点,克罗克福德写了一篇短文。 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();
    

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

    克罗克福德也有一个通用的语言风格指南。 here here .

    希望这有帮助。

        3
  •  0
  •   Harry    13 年前

    这个问题是很久以前的事了。

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