在C++中通常用某种前缀命名成员变量来表示它们是成员变量而不是局部变量或参数.如果你来自MFC背景,你可能会使用m_foo.我myFoo偶尔也见过.
C#(或者可能只是.NET)似乎建议只使用下划线,如_foo.这是否允许C++标准?
JavaScript中的下划线前缀只是一个约定,例如在Python私有类方法中是什么?
从2.7 Python文档:
Python中不存在除了从对象内部访问之外无法访问的"私有"实例变量.但是,大多数Python代码都遵循一个约定:前缀为下划线的名称(例如_spam)应被视为API的非公共部分(无论是函数,方法还是数据成员) .
这也适用于JavaScript吗?
以此JavaScript代码为例:
function AltTabPopup() {
this._init();
}
AltTabPopup.prototype = {
_init : function() {
...
}
}
Run Code Online (Sandbox Code Playgroud)
此外,使用下划线前缀变量.
...
this._currentApp = 0;
this._currentWindow = -1;
this._thumbnailTimeoutId = 0;
this._motionTimeoutId = 0;
...
Run Code Online (Sandbox Code Playgroud)
只有会议?或者下划线前缀后面还有更多?
我承认我的问题与这个问题非常相似,但它并没有让人更聪明地了解JavaScript中下划线前缀的重要性.