Javascript模块模式
2018-01-06 19:14 更新
Javascript面向对象设计 - Javascript模块模式
模块模式是一个用于创建单例的对象创建模式对象与私有数据。
模块模式是一个用于创建单例的对象创建模式对象与私有数据。...
var yourObject = (function() {
// private data variables
return { //w w w . j av a 2 s. c o m
// public methods and properties
};
}());
<p>For example: </p>
var book = (function() {
var version= 1;
return {
name : "Javascript",
getVersion: function() {
return version;
},
publishNewVersion : function() {
version++;
}
};
}());
console.log(book.name);
console.log(book.getVersion()); //Javascript
book.version = 2;
console.log(book.getVersion()); //1
book.publishNewVersion();
console.log(book.getVersion()); //2
上面的代码生成以下结果。
![](https://atts.w3cschool.cn/attachments/jimg/javascript_object_oriented/DESCRIPTION__194D4B891998B8672F7D.png)
例子
显示模块模式在顶部安排所有变量和方法并将它们分配给返回的对象。
我们可以使用显示模块模式来编写前面的示例,如下所示:
var book = (function() {
var version = 1;
function getVersion() { /*w w w . jav a 2 s . c om*/
return version;
}
function publishNewVersion() {
version++;
}
return {
name : "Javascript",
getVersion: getVersion,
publishNewVersion : publishNewVersion
};
}());
console.log(book.name);
console.log(book.getVersion()); //Javascript
book.version = 2;
console.log(book.getVersion()); //1
book.publishNewVersion();
console.log(book.getVersion()); //2
上面的代码生成以下结果。
![](https://atts.w3cschool.cn/attachments/jimg/javascript_object_oriented/EXAMPLE__194D4B891998B8672F7D.png)
以上内容是否对您有帮助:
更多建议: