2014-02-18 120 views
0

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

功能正常

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

构造函数

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

为什么我们保持的第一个字母大写的构造函数。是否有任何具体原因

+1

除此之外,所有'function's可以作为一个构造函数。命名/大写只是一个用来帮助描述那些显式地被他们的作者用作构造函数的约定。 –

+0

关注此链接[构造函数和正常函数](http://stackoverflow.com/questions/8698726/constructor-function-vs-factory-functions) –

+1

*“为什么我们在构造函数中保留第一个字母大写。它背后的任何具体原因“*可能是因为构造函数/类也使任何其他编程语言资本化。 –

回答

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

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

function Car(color, make, model){ 
    this.color = color; 
    this.make = make; 
    this.model = model; 
} 

你会然后实例构造函数,像这样:

var Dodge = new Car("Blue", "Dodge", "Caliber"); 
从几个本地函数
相关问题