function Person(age,name){
this.name = name;
this.age = age;
this.speak = function(){...}
}
function Person(age,name){
var p = {}
p.name = name;
p.age = age;
p.speak = function(){...}
return p;
}
L'unica differenza che vedo è che utilizzando il primo è necessario chiamare con il nuovo per lasciare che il linguaggio di conoscere la sua costruzione di un nuovo oggetto, è essenzialmente solo la costruzione di un oggetto in cui ' questo 'si riferisce al nuovo oggetto che si sta creando ??Due modi di costruire un oggetto in JavaScript
lo stesso di fare questo.
{
age: 12,
name: "mark",
speak: function(){...}
}
dove come il secondo restituisce un oggetto in modo da poter solo scrivere
Person(12,"mark")
invece di
new Person(12,"mark")
Quindi credo che la mia domanda è, è qualcosa che non va con la seconda versione e sono le differenze che ho dichiarato corrette e sono le uniche differenze tra i due?
possibile duplicato di [Funzione di costruzione vs funzioni di fabbrica] (http://stackoverflow.com/questions/8698726/constructor-function-vs-factory-functions) –
@ Qantas94 Heavy: questa domanda richiede alcune cose che non vengono poste né risposte nell'altra domanda. Nel mio opionion, non è un puro dup, anche se ovviamente correlato. – jfriend00