精品欧美一区二区三区在线观看 _久久久久国色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)

国产精品久久久av| 亚洲国产婷婷香蕉久久久久久| 日韩一区二区电影在线观看| 中文字幕免费在线看| 久久久久久久久丰满| 日韩欧美色电影| 国产h视频在线播放| 97电影在线观看| 风间由美性色一区二区三区| 日韩av日韩在线观看| 中日韩一级黄色片| 久久悠悠精品综合网| 欧美日韩亚洲综合在线| 欧美做暖暖视频| 久草在线青青草| 国产精品资源在线观看| 2020国产精品视频| 国产免费久久久久| 亚洲精品进入| 日韩一区二区三区观看| 日韩免费高清在线| 欧洲精品二区| 国产精品素人一区二区| 精品1区2区| 国产精品亚洲欧美在线播放| 先锋a资源在线看亚洲| 久久九九热免费视频| 性色av蜜臀av色欲av| 精品一区二区三区在线观看视频| 色综合av在线| 欧美又粗又长又爽做受| 黄网站在线播放| 久久久久久久久一| 国产亚洲自拍偷拍| 国产精品国产一区二区三区四区 | 国产精品露脸视频| 伊人影院久久| 欧美另类在线观看| 亚洲综合久久av一区二区三区| 亚洲免费成人av在线| 欧美成人bangbros| 天堂av在线8| 97欧美成人| 色婷婷国产精品综合在线观看| 人人妻人人澡人人爽欧美一区双| 黄网站视频在线观看| 国产精品欧美极品| 日韩在线第一区| 久热av在线| 91香蕉视频黄| 国产一区二区三区奇米久涩| 欧美少妇bbw| 国产黑丝在线一区二区三区| 91久久嫩草影院一区二区| 中文字幕第31页| 青青草国产精品97视觉盛宴| 国产激情久久久久| 91青青草视频| 日本成人中文字幕在线视频| 日韩免费中文字幕| 无码视频一区二区三区| 久久永久免费| 国产精品精品一区二区三区午夜版| 欧美brazzers| 日韩成人免费电影| 国产精品视频色| 无码人妻精品一区二| 日本最新不卡在线| 国产欧美精品一区二区| 国产三级小视频| 国产精品羞羞答答xxdd| 成人动漫在线观看视频| 可以免费看毛片的网站| eeuss影院一区二区三区| 国产乱码一区| 国产中文字幕在线播放| 日本一区二区三区免费乱视频| 视频在线精品一区| 老司机午夜在线视频| 亚洲欧美激情小说另类| 999一区二区三区| 丝袜老师在线| 精品视频一区三区九区| 一级黄色大片儿| 岛国av一区| 亚洲男人天天操| 羞羞在线观看视频| 亚洲国产免费| 日本欧美中文字幕| 国产又粗又猛又爽又黄的视频一| 国产精品亚洲视频| 欧美自拍资源在线| 视频免费一区| 天天做天天摸天天爽国产一区| 日本免费不卡一区二区| 日韩成人综合网| 欧美精品一区二区三区视频| 国产成人福利在线| 亚洲国产成人精品女人| 2019av中文字幕| 伊人22222| av一区二区不卡| 亚欧精品在线| 999福利在线视频| 欧美三级视频在线观看| 99久久久无码国产精品性波多 | 中文字幕一区二区三区精彩视频| 丁香花电影在线观看完整版| 欧美性猛交丰臀xxxxx网站| 九一精品久久久| 天堂综合网久久| 久久成人在线视频| 加勒比在线一区| 国产成人午夜精品影院观看视频| 日韩欧美精品久久| 欧美大片黄色| 精品视频1区2区| 久久久久久久久免费看无码| 欧美fxxxxxx另类| 国产精品九九九| 日本福利午夜视频在线| 一区二区三区在线看| 99视频在线视频| 日韩高清一级| 欧美国产亚洲精品久久久8v| 最近中文字幕在线视频| 91视频精品在这里| 免费高清一区二区三区| 成人国产精品久久| 中文国产成人精品久久一| 91蜜桃视频在线观看| 狠狠色丁香婷婷综合| 区一区二区三区中文字幕| 久草在线视频福利| 91精品国产色综合久久不卡电影 | 久草在线成人| 91成人免费观看网站| 亚洲美女性生活| 一区二区在线电影| 色偷偷中文字幕| 99久久婷婷| 国产欧美日韩精品在线观看| 邻居大乳一区二区三区| 色诱视频网站一区| 免费中文字幕av| 国产日韩免费| 久久精品国产精品国产精品污| 嗯啊主人调教在线播放视频| 亚洲精品一区二区三区四区高清| 九九视频免费观看| 国产成人亚洲综合a∨婷婷 | 黑人极品ⅴideos精品欧美棵| 欧美精品色综合| 亚洲色图100p| 国产最新精品免费| 天天爱天天做天天操| www.成人| 欧美国产第一页| 亚洲精品一区二区口爆| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美草逼视频| 精品sm捆绑视频| 日韩免费在线视频观看| av午夜一区麻豆| 精品一区二区中文字幕| 国内黄色精品| 国产欧美日韩中文字幕| 国产黄色小视频在线| 欧美一区二区三区在线看| 久草免费在线视频观看| 99国产精品一区| 99热手机在线| 一本一道久久a久久精品蜜桃| 亚洲www在线| 欧美24videosex性欧美| 日韩成人av网址| a片在线免费观看| 亚洲柠檬福利资源导航| 日本69式三人交| 日韩精品欧美成人高清一区二区| 亚洲一区二区精品在线观看| 婷婷综合国产| 日本欧美中文字幕| 超碰免费公开在线| 日韩av在线电影网| 91亚洲国产成人久久精品麻豆| 伊人夜夜躁av伊人久久| 无码人妻精品一区二区中文| 久久99精品久久久久久国产越南 | 欧美成人黄色网| 97aⅴ精品视频一二三区| 污污网站免费观看| 好吊视频一区二区三区四区| 欧美一区三区二区在线观看| 国产美女精品视频免费播放软件| 性视频1819p久久| 日韩大片在线永久免费观看网站| 日韩色在线观看| 中文字幕第四页| 欧美极品另类videosde| 99riav国产精品视频| 久久久精品五月天| 五月婷婷综合色| 在线视频亚洲欧美中文| 国产成人综合久久| 天堂亚洲精品| 最新69国产成人精品视频免费| 国产麻豆一精品一男同| 亚洲高清不卡在线| 色欲狠狠躁天天躁无码中文字幕| 成人av午夜电影| 高清一区在线观看| 精品91久久久久| 亚洲国产精品视频一区| 精品少妇一区| 国产人妖伪娘一区91| 鲁鲁在线中文| 欧美日本啪啪无遮挡网站| av中文字幕在线| 亚洲第一福利在线观看| 在线免费观看高清视频| 一区二区三区四区精品在线视频| 色撸撸在线视频| 91视频精品在这里| 97人人模人人爽人人澡| 日本欧美在线看| 亚洲精品无码国产| 91精品国产视频| 午夜精品亚洲一区二区三区嫩草| 欧美三级电影在线| 91精品视频在线| 91在线亚洲| 国产成人精品综合| 密臀av在线播放| 久久久久久97| 黄色网址视频在线观看| 亚洲男人第一av网站| 国产91绿帽单男绿奴| 日韩一区二区电影网| 国产又粗又猛又爽又黄视频| 91官网在线观看| 久久久久久久久久免费视频| 亚洲午夜久久久久久久久电影网| 国产女人18水真多毛片18精品| 欧美国产日本韩| 国产大屁股喷水视频在线观看| 久久九九久久九九| 无遮挡aaaaa大片免费看| 菠萝蜜视频在线观看一区| 艳妇乳肉豪妇荡乳xxx| 国产精品18久久久久久久久| 亚洲一区精品视频在线观看| 亚洲视频二区| 18岁视频在线观看| 国产欧美不卡| 久久国产成人精品国产成人亚洲| 羞羞答答国产精品www一本 | aa亚洲婷婷| 久久天天东北熟女毛茸茸| 亚洲精品久久| 日本不卡一区二区三区四区| 天天影视综合| 日韩精品久久久| 欧美色女视频| 日韩欧美亚洲区| 天堂综合网久久| 亚洲成人av动漫| 欧美va久久久噜噜噜久久| 一级特黄录像免费播放全99| 中文字幕日韩一区二区不卡| 欧美与动交zoz0z| 国内久久视频| av动漫在线播放| 99伊人成综合| 国产在线播放观看| 亚洲一区激情| 美女一区二区三区视频| 久久99国产精品久久| 一卡二卡三卡四卡五卡| 国产乱子伦视频一区二区三区| 在线观看网站黄| 久草视频免费在线播放| 国产成人精品免费在线| 亚洲国产第一区| 久久久国产精华| 制服丨自拍丨欧美丨动漫丨| 亚洲国产三级在线| 伦av综合一区| 欧美剧在线免费观看网站 | 欧美精品九九99久久| 国产三级在线观看视频| 亚洲精品动漫久久久久| av大片在线看| 欧美美女操人视频| 国产乱码午夜在线视频| 国产91精品久久久久| 涩涩涩久久久成人精品| 亚洲xxx自由成熟| 日韩免费电影在线观看| 超碰在线免费观看97| 一区二区三区福利| 日韩精品你懂的| 国产在线播放一区| 美女脱光内衣内裤| 一区二区三区丝袜| 9i精品福利一区二区三区| 精品视频一区三区九区| 欧美一级淫片免费视频魅影视频| 在线免费看av不卡| 免费在线小视频| 成人精品久久久| 天堂综合网久久| 免费超爽大片黄| 激情图区综合网| 一二三不卡视频| 亚洲高清一区二区三区| 一区二区视频免费| 日韩av在线最新| 日本色护士高潮视频在线观看 | 韩国无码av片在线观看网站| 久久久噜噜噜久久狠狠50岁| 亚洲黄色片免费看| 中文字幕二三区不卡| 欧美精品亚洲精品日韩精品| 欧美精品一卡两卡| www视频在线观看免费| 91高清免费视频| 8x国产一区二区三区精品推荐| 日韩av一级大片| 最新亚洲一区| 午夜影院免费观看视频| 国产日韩欧美精品电影三级在线| 五月天综合在线| 欧美一三区三区四区免费在线看| 天天干天天摸天天操| 欧美激情精品久久久久久久变态| 伦一区二区三区中文字幕v亚洲| 精品伊人久久大线蕉色首页| 亚洲激情综合| 中文写幕一区二区三区免费观成熟| 国产欧美日韩在线观看| 波多野结衣网站| 日韩电影中文字幕在线| av有码在线观看| 国产在线精品一区| 激情久久久久| 免费黄视频在线观看| 亚洲激情校园春色| 国产免费黄色录像| 日韩视频在线观看免费| 日韩一级视频| 中文字幕日韩精品久久| 美女在线观看视频一区二区| 国产精品麻豆免费版现看视频| 欧美性猛交xxxx黑人交| 国产污视频在线| 国产精品自产拍在线观看中文| 欧美精品一区二区久久| 无码人妻精品一区二区三区66| 国产片一区二区| 最近中文字幕在线观看视频| 日韩国产在线看| 免费污视频在线一区| 欧美一级片免费观看| 男女性色大片免费观看一区二区| 欧美激情 一区| 欧美丝袜丝交足nylons图片| 精品国产99久久久久久| 91在线网站视频| 午夜电影亚洲| 日韩成人av一区二区| 欧美日韩午夜视频在线观看| 深夜福利免费在线观看| 国产精品免费一区豆花| 欧美aaaaaaaaaaaa| 亚洲一二三av| 婷婷丁香久久五月婷婷| 日本1级在线| 欧美中文在线字幕| 日韩成人影院| 国内av一区二区| 欧美日韩国产精品专区| 精品久久av| 成人观看高清在线观看免费| 亚洲激情专区| 精品无码人妻一区二区免费蜜桃 | 亚洲女人的天堂| 性欧美一区二区三区| 777777777亚洲妇女| 日韩欧美大片| 超碰人人cao| 午夜国产精品影院在线观看| yiren22亚洲综合伊人22| 成人情趣片在线观看免费| 中文日韩在线| 色综合99久久久无码国产精品| 3751色影院一区二区三区| 狼人综合视频| 制服诱惑一区| 成人高清免费观看|