精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-06-24
A JavaScript Module Pattern - JavaScript的一种组件模式 1、创建命名空间对象:如果你使用的YUI,你可以采用的YAHOO.namespace()的方法:
2、从一个匿名函数返回值,分配到命名空间对象上
js 代码
上面的代码中,我们从一匿名函数返回一个包含两个成员的对象。在YAHOO.myProject.myModule内可分别用 this.myPublicProperty和this.myPublivMethod来访问。在YAHOO.myProject.myModule外 部,这些公告成员可用YAHOO.myProject.myModule.myPublicProperty 和 YAHOO.myProject.myModule.myPublicMethod访问。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-06-24
另一版本在 http://jstang.5d6d.com/thread-315-1-1.html
Module Pattern翻译成为组件模式不太贴切,只是一时又找不到更好的翻译 |
|
返回顶楼 | |
发表时间:2007-06-24
在我有JSI的想法之前,这种方式我确实挺喜欢的,后来就不这么认为了。
一长串的路径还是挺烦人的。而且想重构一下包名,那就更是麻烦。 |
|
返回顶楼 | |
发表时间:2007-06-24
这种写法优点其实是明显的。
避免全局变量,我实在找不出其它更好的办法(这也算是闭包的一种变相写法吧?) 不过,如果能有JSI的协助,当然是另一个精彩的故事:) |
|
返回顶楼 | |
发表时间:2007-06-24
sp42 写道 这种写法优点其实是明显的。
避免全局变量,我实在找不出其它更好的办法(这也算是闭包的一种变相写法吧?) 不过,如果能有JSI的协助,当然是另一个精彩的故事:) 恩,确实,这是避免过多的全局变量最简单的办法:) 这个翻译成模块模式是不是好点呢? |
|
返回顶楼 | |
发表时间:2007-06-25
应该翻译成模块模式,或者意译为命名空间模式。
当然这里所演示的方式,没有什么好处——除了简单之外。jsi和pies是王道。:) |
|
返回顶楼 | |
发表时间:2007-06-25
hax 写道 应该翻译成模块模式,或者意译为命名空间模式。
当然这里所演示的方式,没有什么好处——除了简单之外。jsi和pies是王道。:) "模块模式" 是我第一时间想到称谓,但是出现了两个“模”字,不太顺,总觉得不是太“优美”吧? |
|
返回顶楼 | |
发表时间:2007-06-25
虽然不太优美,但是比不太准确要好。
组件多是指component。module虽然在别的场合也有翻译成“组件”的,但是在指程序代码组织单位时,基本上都用“模块”。台湾似翻译成“模组”。 |
|
返回顶楼 | |
浏览 9607 次