代码之家  ›  专栏  ›  技术社区  ›  peirix

JavaScript命名约定[关闭]

  •  261
  • peirix  · 技术社区  · 16 年前

    我知道关于哪种命名约定最适合JavaScript有很多争议(也许不是争议,但至少有争论)。

    你如何命名你的变量、函数、对象等?

    我读过的关于JavaScript的书本身也使用了不同的命名约定,但它们都有一点是一致的:找到适合你的方法,并坚持下去。但现在我读了这么多,我发现我比以前更喜欢其他一些方法。

    6 回复  |  直到 3 年前
        1
  •  194
  •   Benjamin R Simon_Weaver    7 年前

    我跟随 Douglas Crockford's code conventions 对于JavaScript。我也用他的 JSLint

        2
  •  156
  •   Benjamin R Simon_Weaver    7 年前

    Crockford says 很好。

    我遵循的唯一例外(并且已经被广泛使用)是使用$varname来表示jQuery(或任何库)对象。例如

    var footer = document.getElementById('footer');

    var $footer = $('#footer');

        4
  •  8
  •   SimplGy    13 年前

    define(['Lightbox'],function(Lightbox) {
      var myLightbox = new Lightbox() // I am not sure whether this is a constructor (non-static) or not
      myLightbox.show('hello')
    })
    

    我正在考虑尝试一种惯例,静态模块使用“the”来表示它们的存在。有人见过比这更好的方法吗?它看起来像这样:

    define(['theLightbox'],function(theLightbox) {
      theLightbox.show('hello') // Since I recognize the 'the' convention, I know it's static
    })
    
        5
  •  6
  •   Javier    16 年前

    我认为除了一些语法限制之外;命名约定推理在很大程度上与语言无关。我的意思是,支持c_style_functions和JavaLikeCamelCase的论点( upper camel case )同样可以反过来使用;只是语言使用者倾向于追随语言作者。

    Douglas Crockford advice

        6
  •  2
  •   Ivar    16 年前

    这是一个个人问题,可能取决于你的工作方式。

    简而言之:在我看来,英文、小写、组织良好的变量和函数名称更可取。名称应该描述它们的存在,而不是简短。