最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

理運用命名空間讓js不產生沖突避免全局變量的泛濫

 更新時間:2014年06月15日 11:26:12   投稿:whsnow  
為了避免變量之間的覆蓋與沖突,可以生成命名空間,命名空間是一種特殊的前綴,在不同的匿名函數(shù)中,根據功能聲明一個不同的命名空間
為了避免變量之間的覆蓋與沖突,可以生成命名空間,命名空間是一種特殊的前綴,在js中,通過{ }對象實現(xiàn)。

在不同的匿名函數(shù)中,根據功能聲明一個不同的命名空間,每個匿名函數(shù)中GLOBAL對象的屬性都不直接掛在GLOBAL上,而是掛在次匿名函數(shù)的命名空間下,如:
復制代碼 代碼如下:

<script type="text/javascript">
var GLOBAL={}
</script>
<script type="text/javascript">
(function(){
var a=123, a1=256;
GLOBAL.A={}
GLOBAL.A.str=a;
})();
</script>

<script type="text/javascript">
(function(){
var b1=123, b2=256;
GLOBAL.B={}
GLOBAL.B.str=a;
})();
</script>

如果同一個匿名函數(shù)中的程序非常復雜,變量名很多,命名空間可以進一步擴展,生成二級命名空間:
復制代碼 代碼如下:

<script type="text/javascript">
var GLOBAL={}
</script>
<script type="text/javascript">
(function(){
var a=123, a1=256;
GLOBAL.A={};
GLOBAL.A.CAT={};
GLOBAL.A.DOG={};
GLOBAL.A.CAT.name="mini";
GLOBAL.A.CAT.move=function(){
}
GLOBAL.A.DOG.name="mini";
GLOBAL.A.DOG.move=function(){
}
})();
</script>

因生成命名空間是非常常用的功能,可以進一步將生成命名空間的功能定義成一個函數(shù),方便調用,如下:
復制代碼 代碼如下:

<script type="text/javascript">
var GLOBAL={}
GLOBAL.namespace=function(str){
var arr=str.split("."), o=GLOBAL;
for(i=arr[0]=="GLOBAL"?1:0;i<arr.length; i++){
o[arr[i]]=o[arr[i]] || {};
o=o[arr[i]];
}
}
</script>

調用命名空間具體操作:
復制代碼 代碼如下:

<script type="text/javascript">
//=============================================================
// 功能A
// 工程師甲
// email:ctkl68945@gmail.com msn:ctkl68945@hotmail.com"
// 2012-11-06
//=============================================================

(function(){
var a=123, a1="hello world";
GLOBAL.namespace("A.CAT");
GLOBAL.namespace("A.DOG");
GLOBAL.A.CAT.name="mini";
GLOBAL.A.CAT.move=function(){
}
GLOBAL.A.DOG.name="mini";
GLOBAL.A.DOG.move=function(){
}
GLOBAL.A.str=a;
GLOBAL.A.str1=a1;
})();

依次類似,無論多人的直接團隊開發(fā),還是個人的間接團隊合作,都需要良好的可維護性。

1、添加必要的代碼注釋

2、讓JS不產生沖突,需避免全局變量的泛濫,合理使用命名空間

相關文章

最新評論

香格里拉县| 丹江口市| 抚顺县| 宣化县| 渝中区| 勐海县| 广元市| 五家渠市| 新民市| 贡觉县| 宁津县| 兰考县| 铜山县| 武鸣县| 阳谷县| 伊通| 垫江县| 渝北区| 宣化县| 莱州市| 河津市| 东莞市| 永清县| 福州市| 清镇市| 安图县| 遵义市| 托克逊县| 东至县| 张家港市| 防城港市| 隆林| 宜城市| 治县。| 四会市| 西和县| 临清市| 利川市| 布拖县| 旺苍县| 内黄县|