代码之家  ›  专栏  ›  技术社区  ›  Justin Bull

在数组中存储javascript变量

  •  1
  • Justin Bull  · 技术社区  · 16 年前

    我肯定有人看过这个,但我没有运气找到一些结果。 我想知道什么是保持适当变量范围最快的方法。 下面是我今天早上编写的一些jquery代码示例。

    var oSignup = {
        nTopMargin: null,
        oBody: $("div#body"),
        oSignup: $("div#newsletter_signup"),
        oSignupBtn: $("div#newsletter_signup a.btn-s4")
    }
    
    oSignup.nTopMargin = Math.abs(oSignup.oSignup.offset().top);
    oSignup.oSignupBtn.toggle(function(){
        oSignup.oSignup.css({"top":0});
        oSignup.oBody.css({"top":oSignup.nTopMargin});
    },function(){
        oSignup.oSignup.css({"top":-(oSignup.nTopMargin)});
        oSignup.oBody.css({"top":0});
    });
    

    这种做法是好是坏?

    3 回复  |  直到 16 年前
        1
  •  2
  •   Michael    16 年前

    这不是“理想”。问题如下:

    • 不要混合/匹配声明样式,如果一切都可以在声明中完成,那么就这样做,如果不能,就要非常明智地选择事物。
    • 不要让对象的名称与它包含的字段相同。它当然是有效的,但不是一个“好”的想法,很难理解和维护。
        2
  •  1
  •   James van Dyke    16 年前

    本质上,你所说的是名称间距。也就是说,将应用程序的变量和逻辑与其他所有变量和逻辑分开。只要你意识到不这样做的陷阱,你的头和肩膀就比其他大多数人都要高(现在的公司除外)。

    迈克尔的建议简洁而真实,但你的方向是正确的。如果你想要更多关于名称间距最佳实践的建议,只需在谷歌搜索中签出大部分的顶级结果,但是 Dustin Diaz's article 尤其是这将给你一个密集的,但非常多用途的名称间距和更多的方式。

        3
  •  0
  •   Al W    16 年前

    我和佐伊德伯格在一起。这很好。事实上,它比我见过的其他一些代码要优雅得多,并且会给我的+1代码评审打分。