Погуглил, но не нашел подходящего ресурса, объясняющего разницу между использованием шаблона раскрывающегося модуля и ключевым словом this
.
При использовании раскрывающегося шаблона модуля у меня может быть следующий код:
var moduleRevealing = function() {
var talk = function() {
console.log("Talking....");
};
var walk = function() {
console.log("Walking...");
};
return {
talk: talk,
walk: walk
}
};
console.log('Module Pattern Object');
console.log(moduleRevealing());
Теперь того же можно добиться с помощью ключевого слова this
, как показано ниже:
var module = function() {
var talk = function() {
console.log("Talking....");
};
this.walk = function() {
console.log("Walking...");
};
this.talk = talk;
};
var mod1 = new module();
console.log('Module Object');
console.log(mod1);
Чем оба отличаются? Я вижу только одну разницу, и это __proto
; Первый указывает на Object
, а второй — на module
.
Если кто-то хочет увидеть код - Fiddle
moduleRevealing
не должна вызываться сnew
. Где вы такое нашли? - person Bergi   schedule 23.02.2016