将javascript变量存储在数组中

时间:2009-12-11 17:50:54

标签: javascript arrays variables scope performance

我相信有人已经过了这个,但我没有找到一些结果。 我想知道维持适当变量范围的最快方法是什么。 这是我今天早上写的一些示例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 个答案:

答案 0 :(得分:2)

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

  • 不要混合/匹配申报样式,如果一切都可以在{}声明中完成,那么就这样做,如果不能,那么你应该如何明智地选择
  • 不要让对象的名称与其包含的字段相同。它当然有效,但不是一个“好”的想法,难以理解和维护。

答案 1 :(得分:1)

基本上,你所说的是命名空间。也就是说,将应用程序的变量和逻辑与其他所有内容分开。只要你意识到不这样做的陷阱,你就会比其他大多数人(现有公司除外)更胜一筹。

迈克尔的建议简明扼要,但你正朝着正确的方向前进。如果您想了解有关命名空间最佳做法的更多建议,请查看Google搜索中的大部分最佳结果,但Dustin Diaz's article尤其会为您提供密集但非常通用的命名空间方式等等。< / p>

答案 2 :(得分:0)

我和Zoidberg在一起。这很好。事实上,它比我见过的其他一些更优雅,并且会给我评价+1代码。