O que a nova palavra-chave faz sob o capô?
Estou curioso como o que mais onew
A palavra-chave faz em segundo plano, além de alterar o que othis
escopo também se refere.
Por exemplo, se compararmos usando onew
palavra-chave para fazer uma função definir propriedades e métodos em um objeto para fazer com que uma função retorne um novo objeto, há algo a mais que o novo objeto faz?
E qual é o preferido se eu não desejar criar vários objetos a partir do construtor da função
var foo2 = function () {
var temp = "test";
return {
getLol: function () {
return temp;
},
setLol: function(value) {
temp = value;
}
};
}();
var foo = new function () {
var temp = "test";
this.getLol = function () {
return temp;
}
this.setLol = function(value) {
temp = value;
}
}();
O criador de perfil do firebug me diz que usar a nova palavra-chave é um pouco mais rápida (2ms em vez de 3ms); em objetos grandes, a novidade ainda é significativamente mais rápida?
[Editar]
Outra questão é que os construtores de objetos realmente grandes têm um retorno na parte inferior da função (ela terá uma grande quantidade de funções locais) ou algumas delas.bar = ... na parte superior da função, mais legível? O que é considerado uma boa convenção?
var MAIN = newfunction() {
this.bar = ...
// Lots of code
}();
var MAIN2 = function() {
// Lots of code
return {
bar: ...
}
}();