javascript类vs变量名

时间:2015-02-03 19:38:50

标签: javascript class variables standards

示例:

function car(){
  this.name = "toyota";
}



var car = new car();

console.log(car);
console.log(car instanceof car); // error

我猜是因为变量的名称与"类的名称匹配"

好的我可以改变它,但" car"对我来说似乎很自然。

我的问题是,javascript中是否存在某种关于如何命名类和类实例的标准,以便它们不会发生冲突,但仍然可以理解?

这个问题并不存在于php bc中,变量与类分开,因此它们可以共享相同的名称:|

3 个答案:

答案 0 :(得分:0)

当你这样做时:

function car(){
  this.name = "toyota";
}

var car = new car();

您已将car函数替换为该对象。如果您尝试执行var newCar = new car(),则会出现TypeError,因为car不再是函数,因此您无法调用它。

根据我的经验,最常用的标准与您在Java中看到的类似(有关详细信息,请参阅Mozilla Developer Network Style Guide):

  • 对变量和方法声明使用较低的驼峰大小写(例如var name = "Michael Jordan";
  • 使用上层驼峰案例进行类定义(例如function Car() { this.name = "toyota"; }

如果你真的想要,你也可以使用Python或C风格的命名,只要你是一致的。请记住,大多数库似乎都使用Java风格的命名约定。

您可能会发现以下JavaScript样式指南很有用:

  1. https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style
  2. http://www.w3schools.com/js/js_conventions.asp
  3. 所以在你的情况下,你想要做这样的事情:

    function Car() {
      this.name = "toyota";
    }
    
    var car1 = new Car();
    var car2 = new Car();
    

答案 1 :(得分:0)

我通常将类的名称大写如下:

function Car(){
  this.name='seat';
}

var car =new Car();
另一方面,

将方法定义为用动词+名称组成的名称,其中动词为小写,名称为大写。例如:

this.riseSpeed=function(){

}

this.restSpeed=function(){

}

我通常用小写命名变量。如果变量存储了一个DOM元素,那么我称之为' $',如下所示:

$element=document.getElementById('id');

答案 2 :(得分:0)

嗯,大多数OO语言(不确定它是否是正式规则),有一个约定,即类名首字母大写,实例名称应该有常规的首字母。

在你的情况下,使用Car for Class和car for Instance,如@Bhojendra Nepal提到的。

另一个例子:

function Person() {
    this.name = 'Daniel';
}

var person = new Person();