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;
}
Jedyna różnica widzę jest to, że przy użyciu pierwszy Należy zadzwonić z nowym pozwolić język znać jej budowę nowego obiektu, jest to w zasadzie tylko buduje obiekt, w którym ' to "odnosi się do tworzonego nowego obiektu?Dwa sposoby konstruowania obiektu w JavaScript
tj samo jak to robi.
{
age: 12,
name: "mark",
speak: function(){...}
}
gdzie jako druga zwraca obiekt więc można po prostu napisać
Person(12,"mark")
zamiast
new Person(12,"mark")
Więc myślę, że moje pytanie jest, czy jest coś złego w używaniu drugi wersja i czy różnice są poprawne i czy są to jedyne różnice między tymi dwoma?
możliwe duplikat [konstruktor vs funkcji fabryczne] (http://stackoverflow.com/questions/8698726/constructor-function-vs-factory-functions) –
@ Qantas94Heavy - to pytanie jest pytaniem o rzeczy, na które nie zadano odpowiedzi w drugim pytaniu. W moim przekonaniu, to nie jest czysty dup choć oczywiście związany. – jfriend00