代码之家  ›  专栏  ›  技术社区  ›  Jonathon Faust

为什么我会看到以$为前缀的javascript变量?

  •  13
  • Jonathon Faust  · 技术社区  · 15 年前

    这是个元问题。我在这里看到的许多javascript片段都是以美元符号前缀命名的(例如, $id 在代码段的第二行 this 问题)。我不是指jquery或其他库。我很清楚这是正确的,但在没有必要的时候做起来似乎很尴尬。为什么人们会这样命名他们的变量?它只是熟悉服务器端语言(如php)并将其带入javascript代码吗?

    我认为可能是将变量标识为jquery对象,例如,当您将选择的结果保存到变量中以便稍后消除重复的选择时,但是我没有看到任何一致的约定。

    3 回复  |  直到 8 年前
        1
  •  19
  •   John Feminella    15 年前

    在语法上,美元符号本身毫无意义——对解释者来说,它只是另一个字符,比如 _ q . 但是,很多使用jquery和其他类似框架的人都会在包含jquery对象的变量前面加上$,这样就可以很容易地识别这些变量,并且不会与整数或字符串等混淆。通过在这些变量前面加上 jq_ 也会有同样的效果。

    实际上,这是一种 Hungarian notation .

        2
  •  4
  •   pib    15 年前

    有时我会在变量名前面加上$来表示它是一个jquery包装的元素(通常在使用 $(this) 在很多函数中,我将把它赋给 $this )

    缺乏约定的部分原因可能是人们将使用不同约定的粘贴代码复制到一起,从而产生不一致的代码。

    此外,有时(我很少希望)使用php编写大量程序的人会出于习惯将$放在变量名的开头。

        3
  •  2
  •   Brad G.    15 年前

    我怀疑这个例子中的人只是在复制jquery模式,或者是用于php/perl,而没有真正理解它是不必要的,也没有特别的意义。

    但是,我看到[有经验的]程序员将它用于保留关键字的变量名,例如 $class $this . 甚至对地球人来说。在这种情况下,这实际上是一种个人偏好。