JavaScript构造函数实例化对象前缀约定

时间:2012-12-14 19:41:38

标签: javascript instance naming prefix convention

在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); }

这再次没有任何帮助,这让我来到这里。

如果你做到这一点,感谢回答:^)我觉得我错过了什么;就像我的技术存在根本缺陷一样。

1 个答案:

答案 0 :(得分:0)

我不确定它是否是标准,但通常对象的实例以小写字母开头,然后是其余的驼峰。我不知道任何前缀,并认为这只会导致一堆额外的代码传递给客户端。

var myObject = new MyObject();