js模擬實現名稱空間功能程式碼例項
使用名稱空間可以有效的防止命名衝突,比如c#。
是一種非常實用的功能,但是javascript自身並沒有定義這樣的功能。
不過我們可以模擬實現,下面就通過程式碼例項做一下簡單介紹。
首先看一下個簡單程式碼例項:
[JavaScript] 純文字檢視 複製程式碼var MSDNMagNS = {}; MSDNMagNS.Pet = function(name) { // code }; MSDNMagNS.Pet.prototype.toString = function() { // code }; var pet = new MSDNMagNS.Pet("softwhy.com");
上面的程式碼實現了簡單的名稱空間功能,原理其實非常的簡單,就是建立一個物件,然後將各種方法或者屬性作為此物件的屬性。
名稱空間也可以實現巢狀,程式碼如下:
[JavaScript] 純文字檢視 複製程式碼var MSDNMagNS = {}; // nested namespace “Examples” MSDNMagNS.Examples = {}; MSDNMagNS.Examples.Pet = function(name) { // code }; MSDNMagNS.Examples.Pet.prototype.toString = function() { // code }; var pet = new MSDNMagNS.Examples.Pet("softwhy.com");
上面的程式碼實現了名稱空間的功能,不過還不夠完美,名字太繁瑣了,鍵入不夠方便。
不過我們可以給它取一個別名,程式碼如下:
[JavaScript] 純文字檢視 複製程式碼// MSDNMagNS.Examples and Pet definition... // think “using Eg = MSDNMagNS.Examples;” var Eg = MSDNMagNS.Examples; var pet = new Eg.Pet("softwhy.com"); console.log(pet);
相關文章
- js模擬實現名稱空間簡單介紹JS
- jquery bind()名稱空間程式碼例項jQuery
- js模擬實現StringBuffer類功能程式碼例項JS
- javascript名稱空間使用簡單程式碼例項JavaScript
- js模擬實現hashCode()方法程式碼例項JS
- js模擬實現多型效果程式碼例項JS多型
- js模擬實現replaceAll()函式程式碼例項JS函式
- javascript名稱空間例項介紹JavaScript
- Python名稱空間例項解析Python
- js模擬實現select下拉選單程式碼例項JS
- javascript模擬實現ArrayList效果程式碼例項JavaScript
- 模擬實現Object.is()方法程式碼例項Object
- javascript模擬實現toAarray()方法程式碼例項JavaScript
- css模擬實現雙擊效果程式碼例項CSS
- css模擬實現雙擊事件程式碼例項CSS事件
- 模擬實現連結title效果程式碼例項
- js模擬點選連結程式碼例項JS
- jQuery模擬實現滑鼠點選事件程式碼例項jQuery事件
- 模擬實現文字框游標效果程式碼例項
- javascript模擬實現滾動條效果程式碼例項JavaScript
- 模擬實現select下拉選單例項程式碼單例
- 單例項歸檔空間佔滿故障模擬實驗單例
- 好程式設計師分享JavaScript名稱空間模式例項詳解程式設計師JavaScript模式
- js模擬實現alert()函式彈出警告視窗效果程式碼例項JS函式
- javascript模擬實現連結的title效果例項程式碼JavaScript
- jQuery模擬實現超連結的title程式碼例項jQuery
- javascript實現的獲取檔案字尾名稱程式碼例項JavaScript
- 名稱空間
- js時間格式化和時間功能例項程式碼JS
- ajax實現的驗證使用者名稱是否存在程式碼例項
- JAXB名稱空間及名稱空間字首處理
- DIY 實現 ThinkPHP 核心框架(四)名稱空間PHP框架
- css3和js模擬翻頁效果程式碼例項CSSS3JS
- js 實現鏈式呼叫名稱空間JS
- javascript模擬實現trim()方法例項程式碼JavaScript
- PHP 名稱空間PHP
- PHP名稱空間PHP
- vuex名稱空間Vue