现在的位置: 首页 > web前端 > 正文

javascript的7个技巧4.1

2019年03月05日 web前端 ⁄ 共 964字 ⁄ 字号 评论关闭
·········10········20········30········40········50········60········
01.var myApplication= function(){
02.var name= 'Chris';
03.var age= '34';
04.var status= 'single';
05.return{
06.createMember:function(){
07.//[...]
08.},
09.getMemberDetails:function(){
10.//[...]
11.}
12.}
13.}();
14.//myApplication.createMember()和
15.//myApplication.getMemberDetails()就可以使用了。

这被称作 module 模式或 singleton。Douglas Crockford 多次谈到过这些,Yahoo UserInterface Library YUI里对此有大量的使用。但这样一来让我感到不便的是,我需要改变句式来使函数和变量能被外界访问。更甚者,调用时我还需要加上myApplication这个前缀。所以,我不喜欢这样做,我更愿意简单的把需要能被外界访问的元素的指针导出来。这样做后,反倒简化了外界调用的写法:

·········10········20········30········40········50········60········
01.var myApplication= function(){
02.var name= 'Chris';
03.var age= '34';
04.var status= 'single';
05.function createMember(){
06.//[...]
07.}
08.function getMemberDetails(){
09.//[...]
10.}
11.return{
12.create:createMember,
13.get:getMemberDetails
14.}
15.}();
16.//现在写成myApplication.get()和
17.//myApplication.create()就行了。

我把这个称作 “revealing module pattern.”

抱歉!评论已关闭.