http://addyosmani.com/resources/essentialjsdesignpatterns/book/#modulepatternjavascript
我正在经历上面的杰作。我仍然无法从以上文章中得到两件事。
var myRevealingModule = (function () {
var privateVar = "Ben Cherry",
publicVar = "Hey there!";
function privateFunction() {
console.log( "Name:" + privateVar );
}
function publicSetName( strName ) {
privateVar = strName;
}
function publicGetName() {
privateFunction();
}
// Reveal public pointers to
// private functions and properties
return {
setName: publicSetName,
greeting: publicVar,
getName: publicGetName
};
})();
myRevealingModule.setName( "Paul Kinlan" );
相关问题:
JavaScript design pattern: difference between module pattern and revealing module pattern?
我从上述问题中了解了很多部分。任何人都可以将上面的
revealing module pattern
转换为传统的module pattern
,以便我可以看到差异。 最佳答案
模块模式代码如下所示:您可以看到jsfiddle
var myModule = (function () {
var privateVar = "Ben Cherry";
function privateFunction() {
console.log( "Name:" + privateVar );
}
return {
setName: function( strName ) {
privateVar = strName;
},
greeting: "Hey there!",
getName: function() {
privateFunction();
}
};
})();
myModule.setName( "Paul Kinlan" );