What can be inferred from javascript variables that begin with _?
本问题已经有最佳答案,请猛点这里访问。
从jquery.ui.autocomplete.js:
1 2 3 4 5 6 | _renderMenu: function( ul, items ) { var self = this; $.each( items, function( index, item ) { self._renderItem( ul, item ); }); }, |
javascript中的下划线前缀主要用于表示"私有"函数、属性等,即内部使用的函数和属性,不应从库/插件外部访问。
是的,正如nnnnnn所说,重要的词是"应该",如:
- 它可以被访问-javascript不会做任何事情阻止你-它只是一个命名约定。
- 实际上这样做是不明智的。一般来说,作者会有很好的理由表明内部使用。例如,属性的行为可能与您的想法不符(例如,缓存值在所有情况下都不可用);函数可能依赖于特定的内部状态或对该状态有副作用;等等。
通常,人们喜欢使用u来表示变量/函数是私有的,但在javascript中没有特殊的含义。
我不确定在哪里听到了这个消息,在我写这篇文章的时候寻找文档,但是我相信以下划线开头的var通常表示一个私有范围。
作为参考,它看起来像是其他程序员实现的C东西。
从技术上讲,这并不意味着什么,但通常作者打算让它成为受保护的(内部方法)