【发布时间】:2011-05-27 22:22:50
【问题描述】:
JavaScript 中的下划线前缀是否只是一种约定,例如 Python 中的私有类方法是?
来自 2.7 Python 文档:
“私有”实例变量 只能从内部访问 Python 中不存在对象。 但是,有一个约定是 紧随其后的是大多数 Python 代码:一个名字 以下划线为前缀(例如 _spam) 应被视为 API 的非公开部分(无论是 是函数、方法或数据 成员)。
这也适用于 JavaScript 吗?
以这段 JavaScript 代码为例:
function AltTabPopup() {
this._init();
}
AltTabPopup.prototype = {
_init : function() {
...
}
}
另外,使用下划线前缀的变量。
...
this._currentApp = 0;
this._currentWindow = -1;
this._thumbnailTimeoutId = 0;
this._motionTimeoutId = 0;
...
只有约定?还是下划线前缀后面有更多内容?
我承认我的问题与 this question 非常相似,但它并没有让人更清楚 JavaScript 中下划线前缀的重要性。
【问题讨论】:
标签: javascript scope naming-conventions