日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Js命名冲突

發布時間:2024/10/12 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Js命名冲突 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1)如何避免JS沖突
A:匿名函數
在多人合作一個網站時,每個人都會寫自己的JS代碼,定義變量的時候有可能會引起命名沖突,如何避免這種沖突隱患呢?
一種最簡單有效的辦法是“匿名函數”將腳本包起來,讓變量的作用域控制在匿名函數之內。
匿名函數:(function (){})() 前面的括號內是函數體,后面的()表示執行。
如:(function(){
  var name,user="test"; //包含在這個匿名函數中的變量,作用域不再是window,而是局限在函數內部。因為各自包在不同的匿名函數內,也就不再互相沖突了。
  })();
用匿名函數將腳本包起來,可以有效的控制全局變量,避免沖突隱患。
B:解決匿名函數之間的通信問題
上面的匿名函數確實解決了沖突,但是如果兩個代碼段之間需要訪問彼此的變量,那就被分隔開了,沒法訪問對方作用域中的變量.
一個比較好的解決辦法是"在window的作用域下定義一個全局變量",但是從上面的沖突來看,全局變量是引起沖突的殺手,如果又這樣定義,就違背了我們使用匿名函數的初衷,所以應該嚴格控制全局變量的數量!
為了控制全局變量的數量,用Hash對象作為全局變量。 var GLOBAl={}; //一個對象類型的變量作為全局變量,擴展性好
定義好對象類型變量后,在匿名函數A中定義GLOBAL的屬性:GLOBAL.str1="aaa"; 在匿名函數B中可以直接訪問var b = BLOBAl.str1;
這樣又出現了一個問題,當在匿名函數B中它也定義一個屬性BLOBAl.str1="bbb"; 這個時候就會把A塊中的屬性str1給覆蓋掉.如何避免這種沖突呢?不可能每個開發者在使用GLOBAL對象之前,都要查找一下綁定了哪些屬性。
這時,命名空間就出現了,它是一種特殊的前綴,在js中它其實是通過一個{}對象來實現的。我們可以給每個匿名函數聲明不同的命名空間,然后每個匿名函數中GLOBAL對象的屬性都不要直接掛在GLOBAl對象上,而是掛在此匿名函數的命名空間下,既:window全局的GLOBAL.命名空間.屬性變量 ,這樣申明屬性名稱的時候,即使同名,空間不一樣也不會引起沖突。如: GLOBAL.A={};// 定義命名空間; GLOBAL.A.str1="aaa";//定義屬性變量
復雜的匿名函數中,你還可以生產二級命名空間,如GLOBAL.A={};//一級命名空間,GLOBAL.A.CAT={};GLOBAL.A.DOG={};//二級命名空間;
生成命名空間是一個很常用的功能,可以將其封裝為一個函數。
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]];
  }
}
調用: GLOBAL.namespace('A.DOG'); GLOBAL.namespace('GLOBAL.B');
總結:解決js沖突-------全局變量+命名空間+匿名函數很好的結合使用才能更好的解決沖突。
C:注釋
添加必要的代碼注釋,可大大提高可維護性,對團隊合作來說,是很重要的。
注釋添加的信息包括:功能說明;工程師姓名;工程師聯系方式;代碼最后修改時間;
讓JS不產生沖突,需要避免全局變量的泛濫,合理使用命名空間,以及給代碼添加注釋。

轉載于:https://www.cnblogs.com/xinyeblog/p/5462428.html

總結

以上是生活随笔為你收集整理的Js命名冲突的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品乱码久久久久久写真 | 狠狠婷婷 | 欧洲色区 | av不卡一区二区三区 | 精品视频站长推荐 | 久久黄色一级片 | 久草资源站 | 亚洲福利小视频 | 午夜宫 | 欧美成年人视频 | 亚洲一二三 | 日韩久久精品视频 | 人妻在卧室被老板疯狂进入 | 亚洲天堂av网站 | 国产91久久精品一区二区 | 久久久久久激情 | 综合黄色 | av在线播放中文字幕 | 亚洲一区自拍 | 成人免费观看视频 | 99爱免费视频 | 另类第一页 | 国产精品综合一区二区 | 国产欧美一区二区精品性色超碰 | 中文字幕免费观看视频 | 欧美三级三级三级爽爽爽 | 国产精品呻吟 | 久久免费电影 | 人人爽久久涩噜噜噜网站 | 老司机伊人 | 高清欧美性猛交 | 色综合久久av | 解开乳罩喂领导吃奶 | 日韩精品视频一区二区 | 最近中文字幕在线mv视频在线 | 日本精品视频一区二区 | 国产一区二区精彩视频 | 中文字幕av无码一区二区三区 | a视频网站 | 欧美一级片播放 | 蜜乳av一区二区三区 | 男人天堂亚洲 | 国产精品国产三级国产aⅴ原创 | 最黄一级片 | 极品三级 | 综合婷婷久久 | 国产精品一区二区网站 | 中文字幕精品视频在线 | 国产www视频 | 黄色一级在线视频 | av成人免费在线 | 精品久久久精品 | 精品综合| 韩国av免费在线 | 久久香蕉精品 | 中文字幕视频一区二区 | 欧美亚州 | 日韩在线精品视频 | 亚洲最新av网址 | 国产一区黄色 | 婷婷成人综合 | 久久精品久久久 | 91av官网| 色哟哟国产精品色哟哟 | 韩日激情视频 | 一起草最新网址 | 欧美永久 | 日本亲与子乱ay中文 | 丰满饥渴老女人hd | 国产无遮挡又黄又爽免费视频 | 捆绑调教在线观看 | 欧美丰满熟妇xxxxx | 欧美做受喷浆在线观看 | 在线美女av | 国模少妇一区二区 | 在线观看视频91 | 欧美在线91| 日本一区二区三区在线观看视频 | 徐锦江一级淫片免费看 | caoprom超碰| 国产一区综合 | 久久精品国产一区二区三区 | 91免费视频入口 | 国产精品一卡二卡三卡 | 国产日韩欧美精品一区 | 海角社区id:1220.7126,10. | 91美女高潮出水 | 四虎影院成人 | 黑人高潮一区二区三区在线看 | 欧美精品1 | 国产精品久久综合视频 | 亚洲视频国产视频 | 国产真实乱人偷精品 | 日韩欧美一区二区三区免费观看 | 日本性欧美 | 国产精品久久综合视频 | 日韩av在线免费播放 | 日韩福利片在线观看 | 午夜免费网站 |