JavaScript_11設計模式(單體模式【五】)簡單單體和閉包單體
阿新 • • 發佈:2018-11-20
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>New Web Project</title> <script type="text/javascript" charset="UTF-8"> //單體模式:(singleton) //1.簡單單體模式: /* var Singleton={ attr1:true, attr2:10, method1:function(){ alert('我是方法一'); }, method2:function(){ alert('我是方法二'); } }; */ // alert(Singleton.attr1); //單體的作用:2.劃分名稱空間(區分程式碼)Ext.Manager.attr1/method1 /* //Ext.Array.some(); // MyCode var BHX={}; BHX.Singleton={ attr1:true, attr2:10, method1:function(){ alert('我是方法一'); }, method2:function(){ alert('我是方法二'); } }; BHX.Singleton.method1(); */ //2.借用閉包建立單體:閉包主要的目的,保護資料,不受外界所幹擾。 //名稱空間 var BHX={}; BHX.Singleton=(function test(){ //新增自己的私有成員。 var a1=true; var a2=10; var f1=function(){ alert('f1'); }; var f2=function(){ alert('f2'); }; //把塊級作用域的執行結果,直接賦給單體物件。 return { attr1:a1, attr2:a2, method1:function(){ return f1(); }, method2:function(){ return f2(); } }; })(); alert(BHX.Singleton.attr1); BHX.Singleton.method1(); </script> </head> <body> <h1>New Web Project Page</h1> </body>