精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Web前端研發(fā)工程師編程能力飛升之路

開(kāi)發(fā) 前端
本文將WEB前端研發(fā)編程能力劃分了八個(gè)等級(jí),每個(gè)等級(jí)都列舉出了對(duì)應(yīng)的特征及破級(jí)提升之方法,希望每位在看本文的同學(xué)先準(zhǔn)確定位自己的等級(jí)(不要以你目前能力的最高點(diǎn),而是以你當(dāng)前能力的中檔與之等級(jí)作對(duì)比,以免多走彎路),參考突破之法破之。

如果你是剛進(jìn)入WEB前端研發(fā)領(lǐng)域,想試試這潭水有多深,看這篇文章吧;

如果你是做了兩三年WEB產(chǎn)品前端研發(fā),迷茫找不著提高之路,看這篇文章吧;

如果你是四五年的前端開(kāi)發(fā)高手,沒(méi)有難題能難得住你的寂寞高手,來(lái)看這篇文章吧;

WEB前端研發(fā)工程師,在國(guó)內(nèi)是一個(gè)朝陽(yáng)職業(yè),自07-08年正式有這個(gè)職業(yè)以來(lái),也不過(guò)三四年的時(shí)間。這個(gè)領(lǐng)域沒(méi)有學(xué)校的正規(guī)教育,沒(méi)有行內(nèi)成體系的理論指引,幾乎所有從事這個(gè)職業(yè)的人都是靠自己自學(xué)成才。自學(xué)成才,一條艱辛的坎坷路,我也是這樣一路走來(lái)。從2002年開(kāi)始接觸WEB前端研發(fā)至今已然有了9個(gè)年頭,如今再回首,期間的走了很多彎路。推已及人,如果能讓那些后來(lái)者少走些彎路,辛甚辛甚!

[[20489]]

【前言】

所謂的天才,只不過(guò)是比平常人更快的掌握技能、完成工作罷了;只要你找到了正確的方向,并輔以足夠的時(shí)間,你一樣能夠踏上成功彼岸。

本文將WEB前端研發(fā)編程能力劃分了八個(gè)等級(jí),每個(gè)等級(jí)都列舉出了對(duì)應(yīng)的特征及破級(jí)提升之方法,希望每位在看本文的同學(xué)先準(zhǔn)確定位自己的等級(jí)(不要以你目前能力的最高點(diǎn),而是以你當(dāng)前能力的中檔與之等級(jí)作對(duì)比,以免多走彎路),參考突破之法破之。

所謂的級(jí)別,只是你面對(duì)需求時(shí)的一種態(tài)度:能夠完成、能夠完美地完成、能夠超出預(yù)期地完成。以追求完美的態(tài)度加以扎實(shí)的編程功力,那就是你的編程水平。

切記心浮氣燥,級(jí)別夠了,那級(jí)別里的東西自然就懂了。悟了就是悟了,沒(méi)悟也沒(méi)關(guān)系,靜下心來(lái),投入時(shí)間而已。

一.【入門(mén)】

能夠解決一些問(wèn)題的水平。有一定的基礎(chǔ)(比如最常見(jiàn)的HTML標(biāo)簽及其屬性、事件、方法;最常見(jiàn)的CSS屬性;基礎(chǔ)的JavaScript編程能力),能夠完成一些簡(jiǎn)單的WEB前端研發(fā)需求。

舉個(gè)例子:刪除一字符串中指定的字符。

  1. var str="www.baidu.com/?page";  
  2. strstr=str.replace('?page',"");  
  3. alert(str);  
  4. strstr=str.substring(0,str.indexOf("/"));  
  5. alert(str); 

首先不要苛責(zé)代碼的對(duì)錯(cuò)嚴(yán)謹(jǐn),畢竟每個(gè)程序員都有這樣的一個(gè)過(guò)程;其次,這兩段代碼在這個(gè)實(shí)例里沒(méi)有什么大過(guò)錯(cuò),可能會(huì)有瑕疵,但能夠解決問(wèn)題(刪除指定的字符),這就是這個(gè)級(jí)別的特征。

再舉個(gè)例子:

  1. // 計(jì)算系統(tǒng)當(dāng)前是星期幾  
  2. var str = "";  
  3. var week = new Date().getDay();  
  4. if (week == 0) {  
  5.         str = "今天是星期日";  
  6. } else if (week == 1) {  
  7.         str = "今天是星期一";  
  8. } else if (week == 2) {  
  9.         str = "今天是星期二";  
  10.  } else if (week == 3) {  
  11.         str = "今天是星期三";  
  12.  } else if (week == 4) {  
  13.         str = "今天是星期四";  
  14.  } else if (week == 5) {  
  15.         str = "今天是星期五";  
  16.  } else if (week == 6) {  
  17.         str = "今天是星期六";  
  18.  }  
  19. // 或者更好一些  
  20. var str1 = "今天是星期";  
  21. var week = new Date().getDay();  
  22. switch (week) {  
  23.         case 0 :  
  24.                 str1 += "日";  
  25.                 break;  
  26.         case 1 :  
  27.                 str1 += "一";  
  28.                 break;  
  29.         case 2 :  
  30.                 str1 += "二";  
  31.                 break;  
  32.         case 3 :  
  33.                 str1 += "三";  
  34.                 break;  
  35.         case 4 :  
  36.                 str1 += "四";  
  37.                 break;  
  38.         case 5 :  
  39.                 str1 += "五";  
  40.                 break;  
  41.         case 6 :  
  42.                 str1 += "六";  
  43.                 break;  
  44. }  
  45. alert(str);  
  46. alert(str1); 

入門(mén)”階段是每個(gè)程序員的必經(jīng)之路,只要“入門(mén)”,你就上路了。所謂“師傅領(lǐng)進(jìn)門(mén),修行靠個(gè)人”,有了這個(gè)“入門(mén)”的基礎(chǔ),自己就可以摸索著前進(jìn)了。

【進(jìn)階之路】

JavaScriptHTMLCSS之類(lèi)的編碼幫助手冊(cè)里的每個(gè)方法/屬性都通讀幾遍!只有將基礎(chǔ)打好,以后的路才能走的順暢。參考這些幫助文檔,力爭(zhēng)寫(xiě)出無(wú)瑕疵的代碼。

這些編碼文檔建議不僅是在入門(mén)提高期看,在你以后每個(gè)階段破階的時(shí)候都應(yīng)該看看,最基礎(chǔ)的東西往往也是最給力的東西,有時(shí)能夠給你帶來(lái)意想不到的收獲。

#p#

二.【登堂】

能夠正確地解決問(wèn)題。不管你是通過(guò)搜索網(wǎng)絡(luò),或者通過(guò)改造某些成品代碼(jQuery/Dojo/Ext/YUI)案例,只要能夠無(wú)錯(cuò)地完成需求。

同樣以上面的那段“字符串剪裁”代碼為例:

  1. var str="www.baidu.com/?page";  
  2. strstr=str.replace(/?page/,"");  
  3. alert(str); 

僅僅解決問(wèn)題對(duì)于“登堂”階段來(lái)說(shuō)已經(jīng)不是問(wèn)題,這個(gè)級(jí)別所給出方案不能是漏洞百出。以上面這段代碼為例:replace方法的第一個(gè)參數(shù)雖然可以支持字符串,但最佳的類(lèi)型是正則表達(dá)式;

  1. var a = new Array("日", "一", "二", "三", "四", "五", "六");  
  2. var week = new Date().getDay();  
  3. var str = "今天是星期"+ a[week];  
  4. alert(str); 

對(duì)比“入門(mén)級(jí)”的代碼,不管是從代碼量、代碼效率、代碼優(yōu)美性、代碼思路來(lái)說(shuō),“登堂”級(jí)的這個(gè)日期處理代碼都要優(yōu)秀很多。

【進(jìn)階之路】

這個(gè)階段雖然能夠給出正確的解題方案,但是不一定是最優(yōu)秀的方案。如何才能得到最優(yōu)秀的方案呢?首先就是積累各種能夠解決需求的方案,然后再驗(yàn)證每個(gè)方案,在這些方案中選擇最好的一種。因此該階段的進(jìn)階之路就是“行萬(wàn)里路,看萬(wàn)卷書(shū)”,積累各個(gè)需求的各個(gè)解決方案。

你可以扎身在專(zhuān)業(yè)論壇(藍(lán)色理想、無(wú)憂(yōu)、CSDN)里,通讀所有的FAQ及帖子;你可以打開(kāi)搜索引擎,窮舉所有的搜索結(jié)果。自己建立測(cè)試環(huán)境一一驗(yàn)證這些代碼:去揣摩每段代碼的意圖,去比較每段代碼之間的差異。這兩條路可以讓你快速完成原始積累,當(dāng)你再面對(duì)大多數(shù)需求時(shí)能夠說(shuō)這些問(wèn)題我以前做過(guò),那你就水到渠成地晉階了。

#p#

三.【入室】

最強(qiáng)代碼,知道所有能夠解決需求的各種方案,能夠選擇使用最優(yōu)秀的方案滿(mǎn)足需求。這個(gè)級(jí)別基本上產(chǎn)品開(kāi)發(fā)編程中的代碼主力。給出的一招一式,招招都是絕招。

還以上面的那個(gè)例子為例,你能說(shuō)出1、2、3之間的差別,以及適用于那種環(huán)境嗎?

  1. var str="www.baidu.com/?page";  
  2. // 1、字符串剪裁  
  3. str.substring(0, str.indexOf("?page"));  
  4. // 2、正則表達(dá)式  
  5. str.replace(/?page/, "");  
  6. // 3、字符串分拆、合并  
  7. str.split("?page").join(""); 

能夠解決問(wèn)題的方法會(huì)有很多,但是對(duì)于程序員來(lái)說(shuō)應(yīng)該選擇最優(yōu)秀的。上面這段代碼從代碼量來(lái)說(shuō)“正則表達(dá)式”最優(yōu)秀;從代碼執(zhí)行效率來(lái)說(shuō): “字符串剪裁”法最高(Chrome中“正則表達(dá)式”效率最高),split法最次;從可擴(kuò)展性上來(lái)說(shuō),“正則表達(dá)式”法最優(yōu)。具體使用那種方案視具體的需求環(huán)境而定。

“入室”階段,程序員應(yīng)該能夠肯定的回答:對(duì)于這個(gè)需求而言,我的代碼就是最優(yōu)秀的代碼。

再以“今天是星期幾”為例,“登堂”級(jí)的代碼你敢說(shuō)是最優(yōu)秀的代碼了嗎?

  1. // 計(jì)算系統(tǒng)當(dāng)前是星期幾  
  2. var str = "今天是星期" + "日一二三四五六".charAt(new Date().getDay()); 

對(duì)比“登堂”級(jí)的示例代碼,上面這段代碼給你什么感受?程序員追求的就是完美。“入室”級(jí)別追求的就是每一招每一式的完美無(wú)缺。

從WEB前端編程來(lái)說(shuō),通過(guò)2年左右的努力,很多人能夠達(dá)到這個(gè)水平,但是,很大一部分人的編程能力也就止步于此。或限于產(chǎn)品的需求單一性,或限于需求開(kāi)發(fā)的時(shí)間緊迫性,或限于人的惰性,能夠完美地解決當(dāng)前的需求就夠了。

由于長(zhǎng)期處于技術(shù)平臺(tái)期,技術(shù)上得不到提高,通常這個(gè)級(jí)別的工程師會(huì)比較燥。技術(shù)上小有所成;或追求個(gè)人的突破;或追求產(chǎn)品差異性帶來(lái)的新鮮感;或者只是想換個(gè)心情;因此很多此級(jí)別的工程師會(huì)經(jīng)常換公司。

戒驕戒躁:

切勿以為自己能寫(xiě)一手漂亮的代碼而自滿(mǎn);

切莫以為別人“尊稱(chēng)”你一聲“大俠”你就以 “大俠”自居;

切莫以為自己積累了一些得意的代碼就成了框架式開(kāi)發(fā)。

細(xì)節(jié)決定成敗,優(yōu)秀的方案并不能保證最終的成功。還以“刪除指定字符串”為例,原始字符串從格式上來(lái)看應(yīng)該是了個(gè)URL鏈接,在去除“pn=0”之后,最末尾處留了一個(gè)尾巴“?”;如果原始字符串是“http://www.xxx.com/?pn=0&a=1”,去除“pn=0”之后 ? 和 & 兩個(gè)符號(hào)緊貼一起,這更是明顯的bug。

【進(jìn)階之路】

此階段進(jìn)階之路就是:切勿心浮氣躁;你不再被需求牽著走,而是你牽著需求走。注重細(xì)節(jié),注意那些當(dāng)前需求里沒(méi)有明文給出的細(xì)節(jié):代碼性能的差異、運(yùn)行平臺(tái)(瀏覽器)的差異、需求的隱性擴(kuò)展、代碼的向后兼容等等。

再通讀幾遍HTML/CSS/JavaScript幫助文檔。

我建議這個(gè)級(jí)別的工程師做一做WebTreeView控件,要求總節(jié)點(diǎn)量一萬(wàn)左右操作流暢,你的晉升之路就在這個(gè)控件的編碼過(guò)程中。

#p#

四.【入微】

最強(qiáng)解決方案。你能夠走在需求的前面,將當(dāng)前需求里有的、沒(méi)有直接提出來(lái)的、現(xiàn)在暫時(shí)沒(méi)有但將來(lái)可能有的等等,及前端編程潛規(guī)則等各個(gè)方方面面都綜合考慮,給出最優(yōu)方案。以一招勝萬(wàn)招。

  1. var str = "http://www.xxx.com/?pn=0";   // 刪除指定字符 pn=0 
  2. // 我將這個(gè)字符串里所可能想到的各種情況都列舉出來(lái)  
  3. var a = [  
  4.          "http://www.xxx.com/VMpn=?pn=0"// pn= 可能出現(xiàn)在 ? 前  
  5.         , "http://www.xxx.com/VMpn=?pn="// URL里允許pn 值為空  
  6.         , "http://www.xxx.com/VMpn=?pn=0&a=1"// URL 里可有多個(gè)字段  
  7.         , "http://www.xxx.com/VMpn=?a=1&pn=0"// 可能排在最后  
  8.         , "http://www.xxx.com/VMpn=?a=1&pn=0&pn=1"// 可能有多個(gè) pn 字段  
  9.         , "http://www.xxx.com/VMpn=?a=1&pn=0&b=2"// 可能在中間  
  10.         , "http://www.xxx.com/VMpn=?a=1&pn=0&pn=1&b=1"  // 可能在中間成組  
  11.         , "http://www.xxx.com/VMpn=?a=1&pn=0&b=1&pn=1"  // 可能零星分布  
  12. ];  
  13. /* 需求的不言之秘:  
  14. ? 若出現(xiàn)在字符串最尾則要去之  
  15. ? & 兩個(gè)符號(hào)不可重疊  
  16. */  
  17. var reg = /((\?)(pn=[^&]*&)+(?!pn=))|(((\?|&)pn=[^&]*)+$)|(&pn=[^&]*)/g;  
  18.  
  19. for (var i = 0; i < a.length; i++) {  
  20.     alert(a[i] + "\n" + a[i].replace(reg, "$2"));  

這個(gè)階段已經(jīng)不再追求一招一式,對(duì)你來(lái)說(shuō)不是使用什么創(chuàng)新絕招解決需求,而是給出成熟穩(wěn)重的方案,從根上解決問(wèn)題。針對(duì)某個(gè)當(dāng)前需求你的代碼可能不是最優(yōu),但是針對(duì)此類(lèi)的需求你的代碼卻是最優(yōu)秀的代碼。

【進(jìn)階之路】

很多WEB前端研發(fā)工程師在做了3-4年之后就會(huì)進(jìn)入一個(gè)瓶頸期:產(chǎn)品開(kāi)發(fā)需求是小菜一碟,沒(méi)有新鮮的可以挑戰(zhàn)的東西;代碼開(kāi)發(fā)中的稀奇的解題方法都已經(jīng)嘗試過(guò)。沒(méi)有了可挑戰(zhàn)的難題,失去了探索的激情,也就沒(méi)有了再上升的動(dòng)力,好不容易走過(guò)“入室”級(jí)別的人又會(huì)有八九成止步于此。或轉(zhuǎn)做技術(shù)領(lǐng)導(dǎo)人,或轉(zhuǎn)到其它的領(lǐng)域,或換公司。

這些人的上升之路在哪里呢?

這個(gè)階段單單依靠技巧和數(shù)量的累積已經(jīng)沒(méi)有什么效果了,突破之路在第5層《化蝶》里會(huì)詳細(xì)說(shuō)明,我建議你在這個(gè)階段末尾著重關(guān)注編程理論:面向?qū)ο?過(guò)程、代碼組織形式、編譯、代碼規(guī)范、其它的框架設(shè)計(jì)等等。

我建議這個(gè)級(jí)別的工程師做一做WebEditor控件,不要求完整功能,但是該控件里的模塊劃分、代碼組織、編程思想做到位,給出一個(gè)系統(tǒng)的解決方案。

#p#

五.【化蝶】

破繭重生,這個(gè)層次關(guān)注的是編程語(yǔ)言本身,而不再關(guān)心產(chǎn)品需求。什么是繭?產(chǎn)品需求就是繭。當(dāng)你一招勝萬(wàn)招,打遍天下需求之時(shí),你如果還拘泥于需求開(kāi)發(fā),那就是你限于繭中而不自知。要么就在這個(gè)繭里默默地老去,要么就破開(kāi)繭獲得新生。

還是以那個(gè)“字符串剪裁”的老例子:

  1. /**  
  2.  * 在拼接正則表達(dá)式字符串時(shí),消除原字符串中特殊字符對(duì)正則表達(dá)式的干擾  
  3.  * @author:meizz  
  4.  * @version: 2010/12/16  
  5.  * @param               {String}        str     被正則表達(dá)式字符串保護(hù)編碼的字符串  
  6.  * @return              {String}                被保護(hù)處理過(guò)后的字符串  
  7. */  
  8. function escapeReg(str) {  
  9.         return str.replace(new RegExp("([.*+?^=!:\x24{}()|[\\]\/\\\\])", "g"), "\\\x241");  
  10. }  
  11.  
  12. /**  
  13.  * 刪除URL字符串中指定的 Query  
  14.  * @author:meizz  
  15.  * @version:2010/12/16  
  16.  * @param               {String}        url     URL字符串  
  17.  * @param               {String}        key     被刪除的Query名  
  18.  * @return              {String}                被刪除指定 query 后的URL字符串  
  19. */  
  20.  
  21. function delUrlQuery(url, key) {  
  22.         key = escapeReg(key);  
  23.         var reg = new RegExp("((\\?)("+ key +"=[^&]*&)+(?!"+ key +  
  24.   "=))|(((\\?|&)"+ key +"=[^&]*)+$)|(&"+ key +"=[^&]*)", "g");  
  25.         return url.replace(reg, "\x241")  
  26. }  
  27.  
  28. // 應(yīng)用實(shí)例  
  29. var str = "http://www.xxx.com/?pn=0";   // 刪除指定字符 pn=0 
  30. delUrlQuery(str, "pn"); 

這段代碼相對(duì)于層次4《入微》有什么區(qū)別嗎?從代碼實(shí)現(xiàn)上來(lái)說(shuō)沒(méi)有太大的區(qū)別,但是從思路上來(lái)說(shuō)卻有著本質(zhì)的區(qū)別:1、不再是就事論事,頭疼醫(yī)頭,而是把一類(lèi)問(wèn)題抽象理論化,一招破萬(wàn)招;2、有封裝的概念,不再是每次從零開(kāi)始,而是站在半山腰開(kāi)始爬。

在WEB前端研發(fā)隊(duì)伍里也有很大一部分人《入室》層次時(shí)就自我感覺(jué)良好,直接跨躍到《化蝶》,積累自己的代碼庫(kù),抽象化問(wèn)題。但沒(méi)有基礎(chǔ),缺少?gòu)?qiáng)大的后勁,即使能夠破繭也經(jīng)受不了風(fēng)吹雨打。一份不成熟的架構(gòu)設(shè)計(jì)對(duì)團(tuán)隊(duì)開(kāi)發(fā)帶來(lái)的危害遠(yuǎn)大于它帶來(lái)的好處,這種例子在業(yè)界屢見(jiàn)不鮮。不要拔苗助長(zhǎng),不要不會(huì)走就想著跑,夯實(shí)基礎(chǔ),水到渠成地成長(zhǎng),厚積薄發(fā),強(qiáng)力地破繭而出。

【進(jìn)階之路】

你已經(jīng)從原始積累,到厚積薄發(fā),到破繭而出之后,你所關(guān)注的應(yīng)該不再是一招一式、一個(gè)項(xiàng)目、一個(gè)模塊,而應(yīng)該是一種思路,一種理論。你可以做以下幾個(gè)步驟以突破到更高層次:再仔細(xì)看幾遍HTML/CSS/JavaScript接口幫助文檔;選擇一門(mén)強(qiáng)語(yǔ)言(C++/C#/Java等)觀察理解這些語(yǔ)言的組織結(jié)構(gòu),語(yǔ)言設(shè)計(jì);看看原型鏈,鏈?zhǔn)秸Z(yǔ)法編程,泛型,接口編程,DOM遙控器等等;仔細(xì)閱讀成熟的WEB前端開(kāi)發(fā)框架的設(shè)計(jì)文檔,看他們?yōu)槭裁匆@樣設(shè)計(jì)。

#p#

六.【大俠】

這里所說(shuō)的大俠,不是大家互相吹捧的“大俠”,而是實(shí)至名歸的高手。這個(gè)級(jí)別的人完全有能力寫(xiě)出不差于Bindows/jQuery/Ext/YUI/Dojo的同等級(jí)別規(guī)模的前端開(kāi)發(fā)框架。應(yīng)用成熟的開(kāi)發(fā)框架指導(dǎo)、解決問(wèn)題。

  1. // 庫(kù)文件 /mz/string/escapeReg.js  
  2. /**  
  3.  * 在拼接正則表達(dá)式字符串時(shí),消除原字符串中特殊字符對(duì)正則表達(dá)式的干擾  
  4.  * @author:meizz  
  5.  * @version: 2010/12/16  
  6.  * @param               {String}        str     被正則表達(dá)式字符串保護(hù)編碼的字符串  
  7.  * @return              {String}                被保護(hù)處理過(guò)后的字符串  
  8. */  
  9. mz.string.escapeReg = function (str) {  
  10.         return str.replace(new RegExp("([.*+?^=!:\x24{}()|[\\]\/\\\\])", "g"), "\\\x241");  
  11. }  
  12.  
  13. // 庫(kù)文件 /mz/url/delQuery.js  
  14. /// include mz.string.escapeReg;  
  15. /**  
  16.  * 刪除URL字符串中指定的 Query  
  17.  * @author:meizz  
  18.  * @version:2010/12/16  
  19.  * @param               {String}        url     URL字符串  
  20.  * @param               {String}        key     被刪除的Query名  
  21.  * @return              {String}                被刪除指定 query 后的URL字符串  
  22. */  
  23. mz.url.delQuery = function (url, key) {  
  24.         key = mz.string.escapeReg(key);  
  25.         var reg = new RegExp("((\\?)("+ key +"=[^&]*&)+(?!"+ key +  
  26.   "=))|(((\\?|&)"+ key +"=[^&]*)+$)|(&"+ key +"=[^&]*)", "g");  
  27.         return url.replace(reg, "\x241")  
  28. }  
  29.  
  30. // 應(yīng)用實(shí)例  
  31. /// include mz.url.delQuery;  
  32. var str = "http://www.xxx.com/?pn=0";   // 刪除指定字符 pn=0 
  33. mz.url.delQuery(str, "pn"); 

自成體系,有基礎(chǔ),也有理論高度。知道為什么這樣設(shè)計(jì),也知道什么樣的設(shè)計(jì)最好。比如這個(gè)例子可以有這樣的封裝:

  1. // 庫(kù)文件 /mz/url/delQuery.js  
  2. /// include mz.string.escapeReg;  
  3. /**  
  4.  * 刪除URL字符串中指定的 Query  
  5.  * @author:meizz  
  6.  * @version:2010/12/16  
  7.  * @param               {String}        url     URL字符串  
  8.  * @param               {String}        key     被刪除的Query名  
  9.  * @return              {String}                被刪除指定 query 后的URL字符串  
  10. */  
  11. String.prototype.delQuery = function ( key) {  
  12.         key = mz.string.escapeReg(key);  
  13.         var reg = new RegExp("((\\?)("+ key +"=[^&]*&)+(?!"+ key +  
  14.   "=))|(((\\?|&)"+ key +"=[^&]*)+$)|(&"+ key +"=[^&]*)", "g");  
  15.         return this.replace(reg, "\x241")  
  16. }  
  17.  
  18. // 應(yīng)用實(shí)例  
  19. /// include mz.url.delQuery;  
  20. var str = "http://www.xxx.com/?pn=0";   // 刪除指定字符 pn=0 
  21. str.delQuery("pn"); 

而為什么不采用下面的那種封裝呢?經(jīng)過(guò)了《知微》和《化蝶》你就懂了。

【進(jìn)階出路】

道法自然,從根上去尋找突破的契機(jī)。你可以研讀HTML解析引擎設(shè)計(jì)與實(shí)現(xiàn),JS解析引擎設(shè)計(jì)與實(shí)現(xiàn),其它語(yǔ)言的代碼解析與編譯實(shí)現(xiàn)等等。

或者出些書(shū)。低級(jí)別的人寫(xiě)的書(shū)要么是一大抄,空無(wú)一物;要么是害人。

#p#

七.【宗師】

這個(gè)級(jí)別的人已然到了無(wú)招勝有招的境界。項(xiàng)目開(kāi)發(fā)中的難題?沒(méi)有難題!運(yùn)行平臺(tái)的差異?從根本上搞定!代碼規(guī)范、開(kāi)發(fā)模式,早已經(jīng)被拋在身后。這個(gè)級(jí)別的人已經(jīng)不再關(guān)注于某個(gè)前端開(kāi)發(fā)框架,而是應(yīng)對(duì)具體的環(huán)境給出最佳的理論指導(dǎo)。

這個(gè)級(jí)別的人所注意的應(yīng)該是以最合理的系統(tǒng)架構(gòu)引領(lǐng)著整個(gè)團(tuán)隊(duì)的進(jìn)步,在什么樣的場(chǎng)景下該用什么樣的架構(gòu)設(shè)計(jì)。3個(gè)、10個(gè)、50個(gè)、100個(gè)人的團(tuán)隊(duì)最應(yīng)該用哪種模式?等你到了宗師級(jí)別,你再來(lái)回答吧。

【進(jìn)階出路】

每一個(gè)宗師就是一個(gè)高山,就是一個(gè)領(lǐng)域里的神,但是你僅滿(mǎn)足于在一群比你弱的群體展現(xiàn)你的強(qiáng)大嗎?如果還你是止步原地,那總會(huì)有人乘著飛機(jī)、宇宙飛船從你的頭領(lǐng)掠過(guò),高處不勝寒!

要突破這片領(lǐng)域,那就必須跳出這片領(lǐng)域。要想突破WEB前端研發(fā)的宗師級(jí),那就跳出WEB前端吧,上面還有WEB開(kāi)發(fā)。即使你是WEB前端的宗師,但沒(méi)有快速的數(shù)據(jù)響應(yīng),沒(méi)有高速的網(wǎng)絡(luò)架構(gòu),沒(méi)有優(yōu)美的系統(tǒng)支持,你又能如何?所以突破之路就是把目光投到整條WEB開(kāi)發(fā)的鏈條中去。

#p#

八.【飛升】

其實(shí)嚴(yán)格來(lái)說(shuō),飛升已經(jīng)不是原領(lǐng)域的范圍了。在WEB研發(fā)領(lǐng)域,對(duì)于這個(gè)層次的有一個(gè)很好聽(tīng)的稱(chēng)謂:架構(gòu)師。當(dāng)然那些“偽架構(gòu)師”另當(dāng)別論。

一法通,萬(wàn)法通。在其它的技術(shù)領(lǐng)域,也可以按照《入門(mén)》《登堂》《入室》《入微》《化蝶》《大俠》《宗師》來(lái)劃分等級(jí);一樣也可以按照我這里所寫(xiě)的每個(gè)級(jí)別的【進(jìn)階之路】來(lái)快速提升。

祝賀你再獲輝煌!
 

原文鏈接:http://hszy00232.blog.163.com/blog/static/430227532011119105237357/

【編輯推薦】

  1. 為什么IE9是Web設(shè)計(jì)師的噩夢(mèng)
  2. Web開(kāi)發(fā)ABC:初學(xué)者必知的26個(gè)概念和技術(shù)
  3. Web開(kāi)發(fā)者欣喜若狂的20款Chrome拓展
  4. 分享11款最新超實(shí)用的Web開(kāi)發(fā)在線工具
  5. Web開(kāi)發(fā)者必備工具大全(附下載)
責(zé)任編輯:陳貽新 來(lái)源: 郭培的博客
相關(guān)推薦

2015-08-26 14:18:25

Web前端工程師價(jià)值

2015-03-16 16:01:40

Web前端前端工程師Web

2010-01-13 10:10:07

Web前端工程師

2012-06-28 14:23:32

Web

2010-01-13 10:53:51

Web前端工程師定位

2013-01-05 02:11:39

工程師程序員

2021-04-09 13:17:39

Web前端工程師

2009-04-10 13:35:38

吳亮《JavaScript

2015-09-30 10:25:03

前端工程師

2015-09-24 17:01:06

2016-09-22 16:14:45

前端設(shè)計(jì)Photoshop

2013-06-20 10:24:32

2012-11-29 10:05:20

2020-07-24 09:44:03

安全駐場(chǎng)工程師網(wǎng)絡(luò)安全IT安全

2021-04-26 09:25:10

JavaKafka架構(gòu)

2020-06-09 18:58:43

5G網(wǎng)絡(luò)前端

2013-06-07 13:30:20

2010-01-26 10:00:30

Google工程師Web

2018-11-15 15:55:44

前端工程師Web云計(jì)算

2019-07-29 16:05:48

前端DockerNode.js
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

精品国产18久久久久久| 欧美亚洲色综久久精品国产| 欧亚在线中文字幕免费| 久久久精品黄色| 国产一区二区在线播放| 久久国产精品二区| 精品高清久久| 精品国产免费一区二区三区四区| 日本网站免费在线观看| 国产写真视频在线观看| 国产精品中文欧美| 国产mv久久久| 国产精彩视频在线观看| 人人狠狠综合久久亚洲婷婷| 亚洲精品一区二区三区影院 | 国产精品hd| 亚洲丝袜在线视频| 美女伦理水蜜桃4| 国产精品天堂蜜av在线播放| 亚洲电影在线播放| 椎名由奈jux491在线播放| 天天综合在线视频| 国产精品一区二区黑丝| 日本精品在线视频| 国产午夜激情视频| 中文在线播放一区二区| 一区二区三欧美| 激情综合丁香五月| 一区二区在线视频观看| 这里只有精品电影| 亚洲国产精品三区| 免费电影日韩网站| 五月天视频一区| 日韩精品一区二区三区四| 秋霞影院午夜丰满少妇在线视频| 久久久综合视频| 91免费福利视频| 最新中文字幕免费| 国产亚洲精品久久久久婷婷瑜伽| 久久高清视频免费| 天天爽天天爽天天爽| av一区二区在线播放| 亚洲精品日韩欧美| 国产三级视频网站| 欧美二区观看| 日韩一区二区电影| 日韩欧美中文视频| 亚洲免费一区| 4438x亚洲最大成人网| 一本久道综合色婷婷五月| 日本不卡网站| 欧美日韩中文字幕综合视频| 欧美成人高潮一二区在线看| 98色花堂精品视频在线观看| 亚洲成av人片在www色猫咪| 国产视频在线观看网站| 久色国产在线| 亚洲国产精品一区二区久久恐怖片 | 国产在线精品播放| 国产又粗又黄又爽的视频| 六月丁香婷婷久久| 亚洲一区亚洲二区| 99热这里只有精品1| 国产成人av影院| 99视频在线| 天堂中文网在线| 久久这里只精品最新地址| 欧美在线播放一区二区| 成人av一区| ...av二区三区久久精品| 日韩视频一二三| av在线加勒比| 91国产视频在线观看| 超碰在线公开97| 精品午夜av| 亚洲成人xxx| 女~淫辱の触手3d动漫| 日韩免费视频| 九九久久综合网站| 好吊妞视频一区二区三区| 视频一区视频二区中文字幕| 96pao国产成视频永久免费| 亚洲爱情岛论坛永久| 91丨porny丨国产入口| 天堂va久久久噜噜噜久久va| 激情影院在线观看| 五月天亚洲婷婷| 日日噜噜夜夜狠狠| 午夜视频一区二区在线观看| 精品亚洲男同gayvideo网站| 免费黄色激情视频| 亚洲国产mv| 国产伦精品免费视频| 好吊色一区二区三区| 久久你懂得1024| 欧美一级爱爱视频| 亚洲www.| 亚洲国产精彩中文乱码av在线播放 | 中文字幕区一区二区三| 亚洲人成电影网站色| 国产精品嫩草影院俄罗斯| 日韩视频二区| 成人在线中文字幕| 日韩国产福利| 一区二区三区欧美在线观看| 国产极品美女高潮无套久久久| 在线观看欧美| 亚洲偷欧美偷国内偷| 黄页网站免费观看| 美日韩一区二区| 九色综合婷婷综合| 色呦呦在线看| 欧美精品777| 手机免费看av| 亚洲精品婷婷| 98国产高清一区| 337p日本欧洲亚洲大胆鲁鲁| 欧美日韩一区二区在线 | 国产午夜麻豆影院在线观看| 国产精品77777| 亚洲精品中文字幕在线| 在线毛片观看| 亚洲成av人影院在线观看| 亚洲怡红院在线观看| 日本成人超碰在线观看| 久久久久久久久久码影片| av在线导航| 欧美乱妇20p| 国产一二三四区在线| 男人的天堂亚洲| 九色视频成人porny| 草莓视频丝瓜在线观看丝瓜18| 欧美日韩国产在线播放网站| 亚洲精品一区二区三区影院忠贞| 久久免费黄色| 免费国产一区| 中文不卡1区2区3区| 亚洲精品大尺度| 日韩污视频在线观看| 国产91色综合久久免费分享| 欧美黄网在线观看| 日韩精品成人| 欧美激情亚洲另类| 国产91绿帽单男绿奴| 亚洲国产精品精华液网站| 波多野结衣三级视频| 国语精品一区| 国产精品视频入口| 俺来俺也去www色在线观看| 精品电影一区二区| 国产91av视频| 91在线视频官网| 无罩大乳的熟妇正在播放| 欧美18xxxx| 日本久久91av| 91在线视频| 欧美肥妇毛茸茸| 久久精品一级片| 成a人片国产精品| 男人日女人逼逼| 欧美精品momsxxx| 国产欧美久久一区二区| 看女生喷水的网站在线观看| 日韩一区二区在线看片| 久久久无码精品亚洲国产| 成人v精品蜜桃久久一区| 欧美爱爱视频免费看| 国产videos久久| 国产免费一区二区三区在线能观看| 久久久久久久久免费视频| 日韩一区二区三区电影| 国产无遮挡又黄又爽又色| 91在线视频观看| 中文字幕天天干| 欧美激情自拍| 久久影院理伦片| 国产麻豆一区| 欧美黑人xxx| 青春草在线观看 | 超碰在线免费av| 一区在线播放| 日本最新一区二区三区视频观看| 欧美日韩破处视频| 欧美疯狂xxxx大交乱88av| 免费在线看v| 日韩一二三四区| 久久久久女人精品毛片九一| 国产精品国产三级国产a| 国产情侣久久久久aⅴ免费| 视频一区中文字幕| 国产精品va在线观看无码| 国产va免费精品观看精品视频| 亚洲影院高清在线| 在线男人天堂| 九九热精品视频国产| 三级视频在线播放| 欧美一区二区视频观看视频| 天天干在线播放| 亚洲精品国产a| 国产一二三四视频| kk眼镜猥琐国模调教系列一区二区| 中文字幕 91| 香蕉精品999视频一区二区 | 国产模特精品视频久久久久| 影音先锋亚洲视频| 国产真实有声精品录音| 国产高清精品一区二区三区| 嫩草伊人久久精品少妇av杨幂| 欧美精品videosex极品1| 欧美激情办公室videoshd| 亚洲欧美日本精品| 欧美熟妇另类久久久久久不卡 | 肥臀熟女一区二区三区| 欧美日韩国产影片| 天天操夜夜操视频| 亚洲成人av免费| 久久国产精品国语对白| 国产欧美日韩久久| 狠狠人妻久久久久久综合蜜桃| 国产九色精品成人porny | 国产 欧美 日韩 在线| 亚洲免费观看视频| 特级西西人体高清大胆| 久久九九99视频| 亚洲专区区免费| av一区二区三区在线| 蜜桃色一区二区三区| 国产呦萝稀缺另类资源| 国产精品v日韩精品v在线观看| 亚洲一区视频| 日本一本二本在线观看| 99精品欧美| 又粗又黑又大的吊av| 99精品国产一区二区青青牛奶| 国产一二三区在线播放| 欧美另类专区| 国产成人一二三区| 一个色综合网| 日本三级中文字幕在线观看| 99久久99久久精品国产片桃花| 亚洲不卡1区| 九九在线高清精品视频| 欧美日韩精品一区| 色棕色天天综合网| 水蜜桃一区二区三区| 国产精品一在线观看| 日韩免费av一区二区三区| 欧洲grand老妇人| 亚洲人体一区| 91精品啪在线观看国产81旧版 | 成人在线播放| 欧美高清性猛交| 国模私拍一区二区国模曼安| 8x海外华人永久免费日韩内陆视频| 久草免费在线视频| 国产ts一区二区| 二吊插入一穴一区二区| 国产精品久久久久久久9999| 日本免费成人| 99在线热播| 日韩电影在线观看完整免费观看| 免费观看国产成人| 手机在线电影一区| 黄色录像特级片| 亚洲高清电影| 可以免费在线看黄的网站| 美女视频黄久久| 欧美性猛交xx| 97久久精品人人做人人爽50路| 受虐m奴xxx在线观看| 中文字幕在线一区| 国产精品theporn动漫| 日韩欧美极品在线观看| 一级α片免费看刺激高潮视频| 欧美一区二区三区成人| 香蕉视频免费看| 中文字幕一区日韩电影| 国内小视频在线看| 国产精品久久电影观看| 久久久久久亚洲精品美女| 国内精品视频免费| 欧美肉体xxxx裸体137大胆| 97在线免费视频观看| 欧美专区在线| 深夜做爰性大片蜜桃| 91免费看片在线观看| 国产麻豆a毛片| 欧美日韩免费在线| 国产美女永久免费| 精品一区二区亚洲| 二区在线播放| 欧美在线一级视频| 精品国产亚洲一区二区三区| 久久免费99精品久久久久久| 亚洲精品一区二区在线看| 欧美三级在线观看视频| 国内精品伊人久久久久av一坑| 99re久久精品国产| 最新成人av在线| av大全在线观看| 日韩免费观看高清完整版在线观看| 欧美精品少妇| 久久免费在线观看| 色婷婷成人网| 日韩高清国产一区在线观看| 欧美日韩亚洲一区| 性生活免费在线观看| 91丨porny丨户外露出| 欧美人妻精品一区二区免费看| 欧美伊人久久大香线蕉综合69 | 久久6精品影院| 国产精品伊人| 日韩国产高清一区| 国产精品日本欧美一区二区三区| 永久av免费在线观看| 国产精品不卡视频| 午夜一级黄色片| 亚洲美女性生活视频| 丁香花在线影院| 亚洲自拍小视频免费观看| 色婷婷亚洲mv天堂mv在影片| 人人爽人人av| 久久久精品国产免大香伊 | xxx性欧美| αv一区二区三区| 一本到12不卡视频在线dvd| 视频在线观看免费高清| 国产欧美日韩中文久久| 黄色在线免费观看| 亚洲精品videossex少妇| 黄页网站在线| 国产精品一区二区在线观看| 欧美三级特黄| 少妇献身老头系列| 一区二区国产盗摄色噜噜| 国产视频www| 精品综合久久久久久97| 久久伦理中文字幕| 嫩草影院中文字幕| 成人av资源在线| 日韩成人免费观看| 亚洲国产天堂久久综合| 欧美少妇网站| 日本不卡一区二区三区在线观看 | 国产精品91一区| 欧美日本成人| 日韩av手机版| 中文字幕日韩欧美一区二区三区| 中文字幕在线网站| 久久精品99久久香蕉国产色戒| 日本成人一区二区| 青青草影院在线观看| 国产成人亚洲综合色影视| 精品少妇久久久久久888优播| 欧美精品一区二区三区在线 | 91精品久久久久久久久久另类 | 成人涩涩网站| 青青青青在线视频| 97久久超碰国产精品电影| 无码人妻久久一区二区三区 | 国精一区二区三区| 国产日韩一区二区| 午夜在线精品偷拍| 快灬快灬一下爽蜜桃在线观看| 7878成人国产在线观看| 污片在线免费观看| 狠狠爱一区二区三区| 久久精品亚洲| 国产免费久久久久| 亚洲成人国产精品| 亚洲成人看片| 黄色网zhan| av成人免费在线观看| 亚洲性猛交富婆| 美女福利精品视频| 亚洲欧美日本伦理| 国产成年人视频网站| 亚洲国产成人精品视频| 成人在线免费视频| 91九色在线免费视频| 久久大逼视频| 午夜爽爽爽男女免费观看| 亚洲成人av在线| 国产a亚洲精品| 久青草视频在线播放| 国产亲近乱来精品视频| www久久久com| 国产精品pans私拍| 欧美三级免费| 久久久免费看片| 亚洲精品不卡在线| 欧美伊人亚洲伊人色综合动图| 天天夜碰日日摸日日澡性色av| 欧美激情一区二区三区全黄| 黄色片网站免费在线观看| 国产精品一区二区三区久久| 在线欧美日韩| 国产suv精品一区二区68| 亚洲欧美日韩图片| 永久免费精品视频|