1. 程式人生 > >JS-構造函數模式代碼實戰和總結-極客

JS-構造函數模式代碼實戰和總結-極客

指向 spa ... 一個 構造 等等 nbsp log this

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6 </head>
 7 <body>
 8 <script>
 9     //構造函數模式代碼實戰和總結
10     
11     //1 , 用戶床墊特定類型的對象
12     //2,JS構造函數比較特殊的地方 new
13     //3, 其他的語言裏,比如php裏人家實現,有一個關鍵字創建一個類
14 //4,此時的zaomen是一個構造函數,又充當類的概念 15 function zaomen(huawen){ 16 if (!(this instanceof zaomen)) { 17 return new zaomen(); 18 } 19 //定義私有變量 20 var _huawen = 普通; 21 //如果傳遞了參數 huawen 22 if(huawen){ 23 _huawen = huawen; 24 }
25 this.suo=普通的; 26 this.huawen = _huawen; 27 this.create = function(){ 28 return "【鎖頭】"+this.suo+"[花紋]"+this.huawen; 29 } 30 }; 31 32 var xiaozhang = zaomen(); 33 var a = xiaozhang.create(); 34 alert(xiaozhang+a); 35 var xiaoli =new
zaomen(絢麗); 36 alert(xiaoli+xiaoli.create()); 37 //alert(a);彈出錯誤。因為此時create的 this.suo.. ....等等的this指向window對象 所以window沒有此些屬性 得 new一個 所以前面進行一個判段 38 //也可以 var xiaozhang = new zaomen(); 39 40 </script> 41 42 <script> 43 //構造函數和單例模式一一相互對應的。一下修改代碼 44 //aa公司 45 var AA = { 46 function:zaomen(huawen){ 47 if (!(this instanceof zaomen)) { 48 return new zaomen(); 49 } 50 //定義私有變量 51 var _huawen = 普通; 52 //如果傳遞了參數 huawen 53 if(huawen){ 54 _huawen = huawen; 55 } 56 this.suo=普通的; 57 this.huawen = _huawen; 58 this.create = function(){ 59 return "【鎖頭】"+this.suo+"[花紋]"+this.huawen; 60 } 61 }; 62 } 63 64 //BB公司 65 var BB = { 66 function:zaomen(huawen){ 67 if (!(this instanceof zaomen)) { 68 return new zaomen(); 69 } 70 //定義私有變量 71 var _huawen = 普通; 72 //如果傳遞了參數 huawen 73 if(huawen){ 74 _huawen = huawen; 75 } 76 this.suo=普通的; 77 this.huawen = _huawen; 78 this.create = function(){ 79 return "【鎖頭】"+this.suo+"[花紋]"+this.huawen; 80 } 81 }; 82 } 83 84 var xiaozhang = new AA.zaomen(); 85 alert(xiaozhang+xiaozhang.create()); 86 87 var xiaoli = new BB.zaomen(絢麗); 88 alert(xiaoli+xiaoli.create()); 89 </script> 90 </body> 91 </html>

JS-構造函數模式代碼實戰和總結-極客