談?wù)凧avascript
作者: 鄭曉 分類: javacript 發(fā)布于: 2013-03-23 22:44 瀏覽:6,655 評論(6)
//剛發(fā)表完發(fā)現(xiàn)沒有加標題,汗、、、、
作為一名PHP的Coder,Javascipt應(yīng)該是我們居家旅行的必備工具,所以學(xué)好Javascipt我們?nèi)沃氐肋h。
水平如何?
你的Javascript功底如何,你如何考證?工作年限嗎?我工作了已經(jīng)有些年頭了,有些時候還不如剛工作的coder,估計是笨了點的緣故。
我與她為伍這么長時間,還是不了解她,所以我總是思考,我怎樣才能真正的征服她?
混編的代碼
沒事我喜歡去瀏覽各個巨頭互聯(lián)網(wǎng)公司的JS代碼,乖乖,大部分都進行了壓縮。這怎么看,那就看能看的地方,打開瀏覽器的查看源碼,里面真是賞心悅目啊,各種形式的JS嵌入方式,有以script標簽鑲金去的,有外鏈的,也有直接寫在div標簽的?!怨哉鎵騺y的。
難道這些公司程序員都很差勁嗎?應(yīng)該不是,既然是巨頭公司,應(yīng)該是不惜金錢,招兵買馬。我猜應(yīng)該很多是歷史遺留問題,主要是初期沒有想好整個代碼的后期運轉(zhuǎn)(估計當(dāng)時的coder沒想這么遠),所以現(xiàn)在演變成大部分程序員按照自己喜歡的方式去寫代碼。
瀏覽器兼容
現(xiàn)在的瀏覽器不是個省心的玩意,大家都喜歡玩自己的一套,所以兼容問題很多時候讓人頭疼。
但我們應(yīng)該明白瀏覽器執(zhí)行js代碼是按照單進程方式進行的,一旦有一個地方消耗比較長的時間,那么就有可能拖死后面的代碼了?!院芏鄷r候,要求把js代碼放在頁面底部,有些特殊的業(yè)務(wù)非要放在前面,那我們也沒有辦法了。很多時候,比較費時費力的業(yè)務(wù)都放置在后加載上,也就是頁面加載完了(或觸發(fā)事件,比如點擊、滾動)去處理。
一些術(shù)語
要想學(xué)好一門東西,要想跟人溝通更容易一些,你就必須了解有關(guān)的常用名詞。如以下的一些名詞:
變量污染:變量在頁面中亂用,有的時候多人開發(fā),A用了個變量叫a,B在紛雜的頁面中也起了個變量a,結(jié)果把A的變量a給沖掉了。這個主要是因為代碼命名上沒有一個明確的規(guī)范。
代碼重用:這個應(yīng)該是常見的毛病,就是一個功能寫了多次。常常是因為程序員不太關(guān)注整個js代碼,還有就是代碼缺少規(guī)范,缺少文檔導(dǎo)致。
緩存與平衡
js文件數(shù)量和文件大小之間的平衡:文件小了那么自然的文件就多了,自然請求數(shù)就多了,增加服務(wù)器的壓力。文件大了,加大了服務(wù)器的IO流,很可能產(chǎn)生阻塞現(xiàn)象。
緩存平衡:現(xiàn)在很多人都喜歡使用緩存,盡量把緩存往前擱置。這也要量力而行,經(jīng)常修改的文件我們盡量把緩存時間設(shè)置的短一些,一些常用的工具類文件,我們就加大對它的緩存時長?!S玫姆绞绞?,header緩存,服務(wù)端js文件設(shè)置緩存時長。
小結(jié)
至此就結(jié)束了,文章中并沒有聊到具體的細節(jié)問題,只是范范的說了說,若有錯誤請指正。我也希望有人能有所補充,這樣共同進步,但是不要說的太深。原文:《小議Javascript》-川山甲。
本文采用知識共享署名-非商業(yè)性使用 3.0 中國大陸許可協(xié)議進行許可,轉(zhuǎn)載時請注明出處及相應(yīng)鏈接。
本文永久鏈接: http://yjfs.org.cn/the-discussion-of-javascript.html
業(yè)余,路過,看過,路過,不要錯過,一定要留言