從基礎出發,不慌不忙,不卑不亢

今天是大年初一,在這個特殊的日子裡寫下農曆2019年的第一篇博客。

其實有許多所謂的基礎知識在我們不經意間而不認識它,也許開始我們看不到它的價值,卻往往在一些技巧與笨拙中體現,今天舉個例子來說明下也許你認識的基礎知識,但卻又感覺陌生。

從基礎出發,不慌不忙,不卑不亢

以上的代碼總感覺彆扭,它想辦到的事情很簡單,就是實現像下面的結果:

從基礎出發,不慌不忙,不卑不亢

如果上面的例子看不懂,我把它變一個樣子,根據上面的思想變成下面的樣子:

從基礎出發,不慌不忙,不卑不亢

這是在拼接字符串,獲取屬性後在前面加”:”,在後面加”,”,最後再將多餘處理的”,”和”:”去除掉,我感覺這是在費死勁了,還特別驚訝的是這是寫在底層的代碼,完全可以寫成下面的樣子:

從基礎出發,不慌不忙,不卑不亢

這樣我感覺比剛才舒服多了

說到拼字符串,打死你都不會想到JSd的toStrring()這個最平常不過的知識點,有的時候單個的基礎知識點沒有什麼,不過有些基礎知識你不明白那麼你的代碼就“繞遠路”了。如下一個實驗例子:

前端:

從基礎出發,不慌不忙,不卑不亢

後臺:

從基礎出發,不慌不忙,不卑不亢

注意畫紅框的。

上面的需求是從前端傳來一個以“,”連接的字符串,然後在後臺再以“,”Split成一個C#的string[],需求很簡單,也許有些人聽到用“,”連接字符串時,立馬想到用“+”進行字符串拼接,然後後臺在判斷有沒有逗號,有的話便安心額Split,這裡立馬就出了兩個問題:

  1. 以“,”連接只能用“+”拼接嗎?
  2. Split一定要判斷有沒有“,”嗎?

之所有會出現這兩個問題完全是因為基礎知識點不紮實的緣故,按上面的兩個截圖完全可以做到原始的需求。

在前端有一個渲染頁面的過程,這裡也是一個非常基礎的知識點,不過忽略這裡知識點的人何其多。

之前解決一個問題,在這裡描述一下:有同事想改一下一個html文件的title,發現直接在代碼裡面將title設置成自己想要的標題接著運行程序後發現並不起作用。

解決這個問題的關鍵就是要了解前端頁面的渲染順序,當發現直接修改title不起作用時,很有可能是被某個JS文件代碼修改了,那麼就需要在JS文件加載完成後再將title做修改。用window.onload就能解決問題。事後同事很不解其中的原因,其實這就是頁面的加載順序使然,掌握了這個知識點便很快定位問題發生的地方。

我們都熟悉一種單例模式,其中用到的是一個什麼原理,這麼說吧,在靜態字段的實現與靜態構造函數里面實現的實例化有什麼區別,這裡涉及到是先執行靜態字段還是先執行靜態構造函數的問題。

還有在前端最容易讓人罵孃的this指向問題,它所牽扯出來的作用域問題等等,都需要我們有一個紮實的基礎功,好高騖遠,急不得。

為2019年定下基調,繼續從基礎出發,讓基礎的知識運用變得不那麼基礎,基於此繼續向更高的目標前進,不慌不忙,不卑不亢。


分享到:


相關文章: