来自 新葡亰运维 2019-11-27 16:48 的文章
当前位置: 澳门新葡亰app > 新葡亰运维 > 正文

我能访问私有的变量和方法 YAHOO.log

DougRussCrockford已经教学了一个使得的单例方式达成此准则,作者感觉她的情势有益于您基于YUI的那多少个运用。DougRuss叫它模块方式。它是之类专门的工作的: 1、创立二个命名空间对象:要是您使用YUI,能够用YAHOO.namespace()方法: YAHOO.namespace;那分配了贰个空的myProject对象,是YAHOO的叁个分子(借使myProject已存在的话,则不会被隐讳卡塔尔国。现在我们得以起来增添YAHOO.myProject的积极分子。 2、对你的命名空间对象分配多少个无名氏函数再次来到值: 复制代码 代码如下: YAHOO.myProject.myModule = function () { return { myPublicProperty: "笔者看成YAHOO.myProject.myModule.myPublicProperty被访问。"; myPublicMethod: function () { YAHOO.log("小编充作YAHOO.myProject.myModule.myPublicMethod被访谈。"); } }; }(); // 那些括号导致无名函数被奉行且重回注意有密封大括号和随之的括号()的结尾大器晚成行—这种标识引致了佚名函数的立刻推行,重回富含myPublicProperty和myPublicMethod的对象。只要那么些佚名函数生机勃勃再次回到,重回对象就充当YAHOO.myProject.myModule被访谈。 3、在无名函数中,在回去语句前行入“私有”方法和变量。到近期停止,我们只是将myPublicProperty和myPublicMethod直接分配到YAHOO.myProject.myModule中。别的,当大家在回来语句以前放置一些代码时,这几个形式还帮助被扩充的功用。 复制代码 代码如下: YAHOO.myProject.myModule = function () { //“私有”变量: var myPrivateVar = "小编仅能在YAHOO.myProject.myModule内被访谈。"; //私有方法: var myPrivateMethod = function () { YAHOO.log("笔者仅能在YAHOO.myProject.myModule内被访谈。"); } return { myPublicProperty: "笔者看成YAHOO.myProject.myModule.myPublicProperty能被访谈。" myPublicMethod: function () { YAHOO.log("小编作为YAHOO.myProject.myModule.myPublicMethod能被访问。"); //在myProject,作者能访问私有的变量和章程 YAHOO.log; YAHOO.log; //myPublicMethod的原生效率域是myProject,咱们得以用“this”来做客公共成员。 YAHOO.log(this.myPublicProperty); } }; }(); 在地方的代码中,大家从二个无名函数重临有七个成员的二个指标。在YAHOO.myProject.myModule内部,能够独家用this.myPublicProperty和this.myPublicMethod来拜谒。在YAHOO.myProject.myModule表面,公共成员能够用YAHOO.myProject.myModule.myPublicProperty和YAHOO.myProject.myModule.myPublicMethod来做客。 私有变量myPrivateProperty和myPrivateMethod只好被佚名函数本人或重回对象的积极分子访谈。固然无名函数会马上试行和结束,但它们仍然为保存着,依赖闭包的力量——通过一个函数的后生可畏部分变量在这里个函数重临后是保存的规行矩步。只要 YAHOO.myProject.myModule须求它们,咱们的多少个民用变量就不会被灭亡。 4、施行这几个方式。让大家来探访那一个格局的二个科学普及应用案例。假让你有四个列表,列表上的局地项能够被拖拽。应用拖拽的项上有拖拽的CSS类。 复制代码 代码如下:

澳门新葡亰app,那是五个轻便的例子,特意写的详尽一些——假若遵照这种办法做,我们确实能把它写的更严峻。当项目变得愈加纵横交叉和它的API扩展,这一个形式缩放的很好。通过这种方式,它幸免了大局命名空间,提供了对外的能够访谈的API方法,协助受有限辅助或“私有”的数目和方式。 [1]原来的小说:《a javascript module pattern》。那是在YUI blog上的,有的地点恐怕打不开,能够搜一下乌克兰语的转发或然使用找出引擎的缓存也能看。 [2]《A JavaScript Module Pattern – JavaScript的黄金年代种模组情势》那是别人的翻译,参谋了不菲,不过认为挺不低价看的,这是自家翻译的那篇小说的叁个原因,当然最要害的原因是那篇文章算是学习YUI的最底蕴的篇章了,整个YUI的模块格局都根据此。 原来的书文地址:

本文由澳门新葡亰app发布于新葡亰运维,转载请注明出处:我能访问私有的变量和方法 YAHOO.log

关键词: