Я знаю, что это не рекомендуемый способ сделать это, но если я объявлю следующие функции, а затем вызову их как конструкторы, какая будет разница (если таковая будет )между результирующими объектами ?
function Something() {
this.foo = "bar";
}
function something2() {
var that = {};
that.foo = "bar";
return that;
}
var x = new Something();
var y = new something2();
var z = something2();
. чем здесь будут отличаться x
, y
и z
?
Разве something2
не будет намного лучшим способом написания конструктора, поскольку независимо от того, используете ли вы new
или нет, это не повлияет на результат функции?
Кстати, something2
следует писать с большой буквы? (Я предполагаю, что нет, так как Крокфорд так непреклонен в использовании заглавных букв, поскольку функции будут загромождать глобальное пространство имен...)