在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');
我实际上(喘气!)用Google搜索并做了一些功课,然后提出了这个问题,并想出了以下内容:
一个。 Crockford的“JavaScript:The Good Parts。”最值得注意的是,他建议在实际构造函数上使用大写字母:
有一个约定,所有构造函数都以初始大写命名(第49页)。
很好,但我没有看到关于这些构造函数的实例的任何约定。他的所有例子都以“我的”为前缀,如此......
var myTango = new Dance('tango' , '4/4');
控制台> myTango.timing
4/4
......这对一个例子很好,但不是一个合理的约定。
湾我还挖出了这个调用“o”前缀“匈牙利方言”的线程,并将其称为过时: What does "o" mean as a variable prefix?
℃。我们还有一个前缀包含jQuery包装集的变量的约定,如下所示,它将选择所有< button>页面上的标签,创建一个jQuery包装集,并将其分配给$ buttons变量:
$buttons = $('button');
d。最后,谷歌搜索“JavaScript对象实例前缀”会产生私有函数的下划线“_”约定;在这个例子中,如果我们要添加一个私有原型函数,它可能看起来像这样:
Dance.prototype._lessonCost = function(minutes) { return ($1.50 * minutes); }
这再次没有任何帮助,这让我来到这里。
如果你做到这一点,感谢回答:^)我觉得我错过了什么;就像我的技术存在根本缺陷一样。
答案 0 :(得分:0)
我不确定它是否是标准,但通常对象的实例以小写字母开头,然后是其余的驼峰。我不知道任何前缀,并认为这只会导致一堆额外的代码传递给客户端。
var myObject = new MyObject();