Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从以\开头的javascript变量可以推断出什么?_Javascript_Jquery_Naming Conventions - Fatal编程技术网

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

从以\开头的javascript变量可以推断出什么?,javascript,jquery,naming-conventions,Javascript,Jquery,Naming Conventions,从jquery.ui.autocomplete.js: _renderMenu: function( ul, items ) { var self = this; $.each( items, function( index, item ) { self._renderItem( ul, item ); }); }, javascript中的下划线前缀主要用于表示“私有”函数、属性等,即内部使用且不应从库/插件外部访问的函数和属性 是的,正如NNNN所说

从jquery.ui.autocomplete.js:

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

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

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

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

从技术上讲,这并不意味着什么,但通常作者打算将其作为受保护的(内部方法)

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

我不确定是从哪里听说的,在我写这篇文章时正在寻找文档,但我相信以下划线开头的变量通常表示私有范围

看起来这是其他程序员实现的C语言。

其中“不应访问”是关键短语,适用于编写代码的人,因为它只是一种命名约定,对JavaScript引擎没有任何意义。。。