JS命名空間with

2021-10-05 16:17:36 字數 652 閱讀 7856

眾所周知乙個頁面可能會被很多人開發,那麼這時候就有乙個問題,那就是命名的重複(變數,函式名),所以為了解決這個問題,命名空間就應用而生了。

可以先看如下**:

var org  = ,

jerry:

},groupb

}} org.groupa.jerry.name

那麼此時可以發現,如果要使用某個變數,那麼要層層呼叫,但是這回很麻煩,所以為了更好的使用變數,可以使用臨時變數來代替,如下:

var jname = org.groupa.jerry.name

但是這也不是解決問題的根本,所以為了根本解決這個問題,就要用到閉包

var  init  =(function () 

function say***()

return function ()

}())

var x = init();

此時把乙個要在全域性執行的變數放到了乙個區域性裡面,所以避免了命名衝突而造成的**汙染。

另外一種解決方法就是使用with

var name = '222';

var a =

}var b =

}with(a)

JS命名空間

命名空間namespace 某些語言中叫package 是乙個在靜態語言中常見的概念。它可以幫助我們更好地整理 並可避免命名衝突。舉乙個簡單的例子,如果有兩個人都叫小明,我們很難區分和引用這兩個人。但如果我們在他們前面加上命名空間,比如 北京的小明和上海的小明,那麼區分起來就容易的多了,也不會因為重...

JS命名空間(namespace)

命名空間namespace 某些語言中叫package 是乙個在靜態語言中常見的概念。它可以幫助我們更好地整理 並可避免命名衝突。舉乙個簡單的例子,如果有兩個人都叫小明,我們很難區分和引用這兩個人。但如果我們在他們前面加上命名空間,比如 北京的小明和上海的小明,那麼區分起來就容易的多了,也不會因為重...

JS實現命名空間

作者 zhanhailiang 日期 2012 10 24在新增乙個屬性或者建立乙個命名空間之前,最好是首先檢查它是否已經存在,如下例 if typeof hwsl undefined 或者使用 的短路功能 var hwsl hwsl 但是這些附加的檢查會迅速產生大量重複的 如果想定義hwsl.cu...