官方說转锈,只有你業(yè)務用到到時候才會知道這個到底是個啥東西?? ?也即是用不到盘寡,了解也沒有啥意思.--- 誤人子弟了~
實際業(yè)務場景:
假設1:
? 傳統(tǒng)的js是一個頁面多個js去進行引入,假設現(xiàn)在三個人去合作開發(fā)一個頁面撮慨。
?第一個人:
? ?定義了全局變量a = 100
第二個人:
并不知道a已經(jīng)被定義 也定義了全局變量 a=200
第三個人:
同第二個人宴抚,a = 400
假設頁面引入三個js,最后結(jié)果a是多少甫煞?
這里有答案嗎菇曲???
真是的答案是:
? ?js引入的先后順序,決定a最終為哪個值.
在復雜點:
?第一個人 自己寫的js方法改變用到了這個值
?第二個人 自己寫的js方法改變用到了這個值
?第三個人 自己寫的js方法改變用到了這個值
那這個值到底是多少呢抚吠?
所有有了模塊劃分這個概念常潮,每個模塊有自己的函數(shù)和變量。
互不影響
假設需要多個都引用楷力,則變成全局的變量和方法--------- 可以暫時理解為方法的封裝
以上可以理解為扯淡--
實際感觸在這里:
在外包手里接了一個項目喊式,是傳統(tǒng)的jquery開發(fā),一個頁面引入多個js文件萧朝。而且js文件引入的先后順序坑了好多次~
后面增加業(yè)務需求岔留。假設。這里新增了一個數(shù)據(jù)检柬,或者改變了一個數(shù)據(jù)献联,需要在頁面用到這個的地方進行全部體現(xiàn).
這里是不是需要把這個暴露給全局. 結(jié)果可想而知,這是個多個人合作的項目.需求每天都在改.
再一個真是的js場景
a 文件 b文件 c文件
?b文件暴露全局的 一個變量a = 100
a文件引入修改了這個值
c文件也引入了值何址。請問里逆。a修改之后,c再次訪問用爪。訪問到的是a修改后的值原押,還是一開始暴露的默認值呢?