優點:1.廣泛,無論對於使用者還是開發者,可以說是最廣泛使用的程式語言
2.生態完美,多個端、多類庫、多種框架,眾多優秀團隊支援,迄今沒有任何一種語言能做到,真正的眾星拱月
3.能處理任何形式資料,特別是對於json的處理
4.易用,對初學相當友好,你只需要裝乙個瀏覽器,就能進行開發
5.特別適合於,我不想因為想做一件簡單的事情,而引入一堆的模板**,如:型別處理,異常處理,各種繼承
缺點:1.內建函式太少,內建語言特性也不多(即使是es6時代,也是這樣)
2.數值處理能力實在是弱,檔案/io操作依賴瀏覽器,本身提供的物件也極少(你會發現,node端對file operate是進行了較大擴充)
3.實際業務中,處理資料總是要自己寫演算法,例如:對集合資料的交、並、補集
4.做業務開發時,不借助庫,使用純js(es6)開發,是痴心妄想,除非你有富餘的開發周期
5.整體太過於鬆散,容易出現runtime(執行時)錯誤
6.莫想著用它來做多**解碼,你能找到的庫,很少
程式設計,我會去了解實現方式,原理思想等,但是這些都是為了解決問題服務的。我討厭面試官恨不得別人能背es規範,能寫出100種陣列去重,能默寫webpack配置規則,我算你左看vue原始碼,右改react,懂得東西超過99%前端,何如?我覺得,技術是為解決問題服務的,就像以前js陣列去重,要寫一堆演算法,經典的有不下5種實現方式,es6出來後,我用乙個set一行**就完成,你要給我複雜的去重,我就搬出lodash來破解,會多幾種去重對解決問題的提高相當有限!鑽研技術不是目的,解決問題才是啊!我情願學乙個知識點,解決3個問題,也不要學3個知識點解決1個問題,剩下的時間,去見識更多人,去解決更多硬核問題,去陪家人,哪個不好?非得懂得復現vue雙向繫結就是合格,能從原理層面說出幾種深拷貝的對比細節就是優秀,能手寫webpack 配置就是加分?工具庫看看文件,誰不會用!深拷貝我一句json.stringify()行天下,有問題再說啊,反正90%情況下遇不到!雙向繫結了解原理會用來解決問題就行了,非得復現嗎,要es7 8出了個語言特性,把object.defineproperty()給替了呢。有空做什麼,當然是看多幾個設計模式,看多幾個經典演算法,好好思考怎麼落地,怎麼用來解決實際問題!
說白了,就是出發點不同:
1.出發點是鑽研技術,那技術知識儲備當然是多多益善。世界這麼多程式設計師,每個人一種思想化作技術,誰知道下一步誰的思想是主流,你學不完的。
2.出發點是解決問題,那技術就是工具,夠用就好。我們就要保持學習,即關注有什麼技術能做什麼而不去深究它,到了用時,再回去獲取能解決問題的點,所以我會說意識重於知識。
我再說前端
前端的過去
前端的過去,從原始階段直接載入靜態頁面到基於非同步請求的動態網頁出現,前端開始豐富起來。bootstrap是鼻祖,雖然不能說框架的東西100%原創,但是絕對可以說是集大成者的先驅,它給布局與自適應,ui控制項封裝,樣式命名等,貢獻了寶貴的、規範的、先行的經驗,我也是從bootstrap學習前端開始,現在的ui框架,都是一定找得到bootstrap的身影,例如超級經典的柵格布局。再說另乙個重要鼻祖,jquery。jq的出現,一是它極大簡化了操作dom的方式,二是通過一眾相當實用的函式,有效的彌補了js內建函式的匱乏,同時發展出一種封裝技術,簡化js封裝,漸漸地,我們可以發現jq庫已經成行成市,如我個人是不喜歡jq22的,因為它的資源有一部分是在網上收集的開源,竟然拿來賣錢??
前端的現在
r v a 三足鼎立,外加各種自研 類r v ,如taro、小程式js等,還有端拓展如electron,rn,甚至是語言的拓展如typescript,我就不多說了,正式由於前端的日益強大,消解了大部分以往在服務端的業務處理**,同時解放了生產力,如算力,促進了服務端轉向微服務的架構
前端的未來
1.serverless與雲開發
2.統一多端開發,如flutter
js用得越久越覺得,它給你業務程式設計的支援實在有限
本文不再更新
2023年12月25日,於鵝城
JS繼承的一些見解
js在es6之前的繼承是五花八門的。而且要在專案中靈活運用物件導向寫法也是有點彆扭,更多的時候還是覺得面向過程的寫法更為簡單,效率也高。久而久之對js的繼承每隔一段時間就會理解出現困難。所以這次我要把對物件的理解寫下來,這樣應該就深刻一點了。我們先來看看乙個物件是怎麼生成的 三種建立物件的方法 va...
JS繼承的一些見解
js在es6之前的繼承是五花八門的。而且要在專案中靈活運用物件導向寫法也是有點彆扭,更多的時候還是覺得面向過程的寫法更為簡單,效率也高。久而久之對js的繼承每隔一段時間就會理解出現困難。所以這次我要把對物件的理解寫下來,這樣應該就深刻一點了。我們先來看看乙個物件是怎麼生成的 三種建立物件的方法 va...
如何學習python,個人的一些簡單見解
什麼是重要的東西 應該怎麼做 從一開始的計算機基礎,即計算機的歷史發展,計算機的各種原理,這些看似不重要的東西,我們往往要細細揣摩,了解其本質,這樣在後面的 編寫過程中,才能更加的自由,才能明白自己為什麼這樣做,眼光會放得更長更寬。接下來最最最最最重要的就是在學習python的第乙個月裡的列表 元組...