<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <meta charset="utf-8" /> </head> <body> </body> </html> <script> // 主要測試命名空間的注入測試 /** 1 使用場景是啥? 1.1 注重命名空間的處理, myapp是命名空間的名稱, 1.2 utils是命名空間下模塊的名稱, 同一個命名空間下能夠有多一個模塊, 1.3 2 須要注意的要點 2.1 命名空間的屢次嵌套處理 3 關鍵性的內容, 在命名空間上使用apply函數, 類比構造函數繼承的處理過程. **/ var myapp = myapp || {}; // 模塊化. myapp.utils = {}; (function () { var value = 5; this.getValue = function () { return value; } this.setValue = function (newValue) { value = newValue; } this.tool = {}; }).apply(myapp.utils); //在命名空間內上添加屬性, console.log(myapp); // (0) (function () { this.getName = function () { console.log("1"); } }).apply(myapp.utils.tool) // 深層次. console.log(myapp); //(1) /* console.log (0) object |-->utils:objecyt |-->getValue(); |-->setValue(); |-->tool:object; (1) object |-->utils:objecyt |-->getValue(); |-->setValue(); |-->tool:object |--> getName(); */ </script>