實(shí)例地址:github:https://github.com/MandyJin/imooc--Game
1.一般在編寫javascript代碼的時(shí)候,直接聲明變量var sidebar會(huì)污染全局命名空間,這樣做的結(jié)果是會(huì)把sidebar結(jié)果賦給windows對(duì)象,作為windows對(duì)象的一個(gè)屬性,那如果是大規(guī)模編程的話,這樣一種全局污染,會(huì)對(duì)其他代碼塊造成一定影響。所以建議使用模塊模式的方式來降低這種污染全局空間的可能性。塊模式其實(shí)就是一種立即執(zhí)行的匿名函數(shù)。
2.(function(){ })();第一個(gè)小括號(hào)是語(yǔ)法限制,代表一個(gè)單元,第二個(gè)小括號(hào)表示立即執(zhí)行。這樣一個(gè)結(jié)構(gòu)就是我們說的立即執(zhí)行函數(shù)。
3.在用構(gòu)造函數(shù)來創(chuàng)建對(duì)象時(shí),對(duì)象的名稱的第一個(gè)字母大寫。
4.綁定事件時(shí),如果需要綁定的元素標(biāo)簽不能響應(yīng)事件:在javascript中,事件傳播機(jī)制是默認(rèn)使用向上傳播的方式來傳播的(冒泡傳播)。向下傳播叫捕獲。
5.注意:this很容易出問題?。。。。≡诤瘮?shù)內(nèi)部,this指向調(diào)用者?!猘ddEventListener里面的事件響應(yīng)函數(shù)在click事件發(fā)生的時(shí)候,系統(tǒng)會(huì)自動(dòng)調(diào)用這個(gè)響應(yīng)函數(shù),在這個(gè)時(shí)候我們就失去了這個(gè)函數(shù)的上下文,我們就再也沒辦法控制在函數(shù)的內(nèi)部,this的指向了.——————一般情況下載處理事件響應(yīng)函數(shù)this的時(shí)候,我們采用閉包的方式。