在 JavaScript 中,从构造函数实例化的对象是否有命名约定?
例如,如果我有一个像这样设置的构造函数:
function Dance(style, timing) {
this.style = style; // for reflection
this.timing = timing;
}
var waltz = new Dance('waltz' , '3/4');
var rumba = new Dance('rumba' , '4/4');
所以控制台命令看起来像这样:
控制台> waltz.timing
3/4控制台> rumba.timing
4/4
我正在寻找的是一个约定,说华尔兹和伦巴是实例化的对象;像前缀“o”?
var oWaltz = new Dance('waltz' , '3/4');
var oRumba = new Dance('rumba' , '4/4');
在问这个问题之前,我实际上(喘不过气来!)在谷歌上搜索并做了一些功课,并想出了以下内容:
一个。Crockford 的“JavaScript:好的部分”。最值得注意的是,他建议在实际的构造函数中使用大写字母:
有一个约定,所有构造函数都以首字母大写命名(第 49 页)。
很好,但我没有看到关于这些构造函数实例的任何约定。他所有的例子都以“我的”为前缀,就像这样......
var myTango = new Dance('tango' , '4/4');
控制台> myTango.timing
4/4
...这是一个很好的例子,但不是一个合理的约定。
湾。我还挖了这个帖子,它把“o”前缀称为“匈牙利方言”,也把它称为过时的: “o”作为变量前缀是什么意思?
C。我们也有为包含 jQuery 包装集的变量添加前缀的约定,如下所示,这将选择页面上的所有 <button> 标签,创建一个 jQuery 包装集,并将其分配给 $buttons 变量:
$buttons = $('button');
d。最后,在 Google 上搜索“JavaScript 对象实例前缀”会得到私有函数的下划线“_”约定;在这个例子中,如果我们要添加一个私有原型函数,它可能看起来像这样:
Dance.prototype._lessonCost = function(minutes) { return ($1.50 * minutes); }
再一次,这并没有任何帮助,这将我带到了这里。
如果你做到了这一步,谢谢你的回答:^)我觉得我错过了一些东西;就像我的技术存在根本缺陷一样。