我已经在网上对Revealing模块模式进行了一些研究,但似乎有不同的变化,我有些困惑。以下每个变体的主要优点和缺点是什么?
变化1:
function Dog(){
var woof = function () { console.log('woof'); }
return {woof};
}
var foo = Dog();
变化2:
function Dog(){
var woof = function () { console.log('woof'); }
return Object.create({woof});
}
var foo = Dog();
版本3:
function Dog(){
var woof = function () { console.log('woof'); }
return Object.freeze({woof});
}
var foo = Dog();