函数和构造函数之间的区别

时间:2014-02-18 04:57:45

标签: javascript

我想知道函数和构造函数之间的区别。

正常功能

function = dosomething(){ //do something };

构造函数

function = Dosomething(){ //do something };

为什么我们在构造函数中保留第一个字母大写。背后是否有任何具体原因

2 个答案:

答案 0 :(得分:2)

没有区别 - 在创建将充当构造函数的函数时,使用大写字母作为名称只是最佳做法。

这就是你如何处理使它们表现不同的函数。这是因为函数是Javascript中的第一类。

例如:

function MyRegularFunction() {
   console.log("regular");
}
MyRegularFunction();


vs.


function MyObjectFunction() {
   console.log("ctor")
}

MyObjectFunction.prototype = {
    constructor: MyObjectFunction,
    myMethod: function() {
        console.log("object")
     }
}

var myInstance = new MyObjectFunction();
myInstance.myMethod();

希望有所帮助。

答案 1 :(得分:1)

在构造函数中大写第一个字母只是一个命名约定,表明该函数是一个类。构造函数的一个例子是:

function Car(color, make, model){
    this.color = color;
    this.make = make;
    this.model = model;
}
然后,您将实例化构造函数,如下所示:

var Dodge = new Car("Blue", "Dodge", "Caliber");