从以_开头的javascript变量可以推断出什么?

时间:2012-02-05 03:40:06

标签: javascript jquery naming-conventions

来自jquery.ui.autocomplete.js:

_renderMenu: function( ul, items ) {
    var self = this;
    $.each( items, function( index, item ) {
        self._renderItem( ul, item );
    });
},

4 个答案:

答案 0 :(得分:6)

javascript中的下划线前缀主要用于表示“私有”函数,属性等。即,内部使用的函数和属性,不应从库/插件外部访问。

是的,正如nnnnnn所说,重要的一词是“应该”,如:

  • 可以访问 - Javascript不会做任何事情来阻止你 - 这只是一个命名约定。
  • 实际上它是不明智的。大多数情况下,作者有充分的理由指出内部使用。例如。可能不符合您的行为的属性(例如,在所有情况下都不可用的缓存值);功能可能取决于特定的内部状态或对该状态有副作用;等

答案 1 :(得分:4)

通常,人们喜欢使用_来表示变量/函数是私有的,但_在JavaScript中没有特殊含义。

答案 2 :(得分:0)

这并不意味着技术上的任何东西,但通常作者希望它使其成为受保护的(内部方法)

答案 3 :(得分:0)

我不知道我在哪里听到这个,在我写这篇文章时寻找文档,但我相信以下划线开头的变量通常表示私有范围。

For reference看起来像是其他程序员实现的C事物。