首頁>技術>

你覺得JavaScript很難嗎?,你認識的 JavaScript 只能用來操作DOM元素?增加網頁互動性?還是用來寫一些超簡單的小遊戲來玩呢?NO!不要讓你的js只停留在DOM操作上,你應該往下看看。

引言

JavaScript作為全球每年穩居前十的語言,2017年在GitHub盡然排到了第一,其受歡迎程度就無須多言了吧,行內流行這麼一句話:

任何可以用JavaScript來寫的應用,最終都將會用JavaScript來寫。

確實,JavaScript應用之廣泛,語言之強大,在任何地方都有,真的無孔不入,如果你接觸過後端語言,你會發現後端的那些語言,什麼Java、C/C++、Python、Ruby等等語言都可以編譯成JavaScript,在我們Web前端,那就不用說了,老大的地位一直沒人敢動,但很多小白就覺得JavaScript除了寫點互動效果平時也沒咋用啊?

JavaScript能幹什麼

說下面這些話,不是我有多麼吹JavaScript,是應為他確實很強大,只是你用的比較少而已。

除了我們平時在切頁面時候用它來寫互動效果以外,其實很多地方都用到了它,我剛工作那年,看見後端的那些老哥都會寫JavaScript,頁面啥的都會整,心裡就想那招我來幹啥啊,後來你切頁面的時候你會發現它們的CSS是真的爛,切出來的頁面簡直沒法看,就純粹的實現功能和頁面顯示,那時候才明白了前端是幹啥的,不錯,就是會設計的程式設計師。

後來當自己學習JavaScript,期間掌握了一定的後端語言的基礎上,我才發現了JavaScript是真的狠,現在又有了NodeJs,更是風聲水起,Node的出現打開了傳統後端與前端的連線大門,也翻新了固有的前端模式,讓那些JavaScript大神為所欲為,現在手下的“精兵悍將”越來越多,gulp、grunt、webpack,uni-app的相繼到來,更是如魚得水,堪比“五虎上將”,你說你現在不是劉備,如何作用西川,別說西川了,五虎都沒有,哈哈哈。還不學起來,程式設計師野心就要大。

除了我們前端用,這些方面也在用:

1、後端Nodejs

nodejs是一種用前端語言寫後端的直譯器,是一個JavaScript執行環境,這就使JavaScript走向了服務端,如果你想當熟練JavaScript,等你學完nodejs,差不多就是全棧工程師啦。nodejs是可以代替PHP或Java開發後端的中介軟體,也可以說是工具吧。

2、桌面應用

像electron、nw.js、hex用的就是html/js/css/h5等開發的桌面程式,構建跨平臺桌面應用程式的一個開源庫。 Electron 通過將 Chromium 和 Node.js 合併到同一個執行時環境中,並將其打包為 Mac,Windows 和 Linux 系統下的應用來實現這一目的。由於體積大、除錯繁瑣、成為不是很多人中理想應用,但你想啊,Vue出來了,這些還是問題嗎?真的前端這幾年出的這些框架,語言,真的已經奠定了大前端的趨勢。

3、移動端應用

像一些JavaScript移動框架,如PhoneGap/Cordova、Titanium、jquery mobile、sencha Ext Js、recat Native、Msadqdeteor、nativeScript都是JavaScript移動框架,為移動裝置選擇合適的JavaScript框架,為其開發降低成本,效率,豈不樂哉。

4、遊戲

小結:

JavaScript 長久以來一直被限制在瀏覽器的沙箱中執行, 它的能力取決於瀏覽器中間層提供的支援多少。 Node 將高效能的 V8 帶到了伺服器端,使 JavaScript 也可以開發出實時高效能的伺服器。

對於前端工程師而言,自己熟悉的 JavaScript 現在竟然可以在另一個地方大放異彩, 不談其他原因,僅僅因為好奇,也值得去關注和探究它。

JavaScript難不難學?

前端往全棧方向發展,JavaScript語言的責任已經越來越重了,那麼深入它到底難不難。

很多時候,我們這行都講究個入門到精通,確實,你不用說我們不管做啥都會有這麼個過程。但是學js時你會發現,基礎學完以後也就會寫特效,難一點的特效網上有很多外掛,都已經封裝好了,可以拿過來直接用。

我個人覺得js入門容易,精通卻太難了,平時專案中用到的地方也就寫頁面了,別的地方根本就用不到,但你熟練了,其他語言的學習中會很輕鬆的,你用它就會熟能生巧。嘎嘎嘎。。。

我身邊的前端程式設計師,js一般,就是謝謝簡單的特效的時候用用,稍微複雜的效果根本寫不出來,搬不搬不過來,最後沒辦法,只能改特效,然後產品經理去跟客戶溝通,導致客戶心裡很牴觸,說我在國外的網站看見的,有啊你們寫不出來嗎?這。。。

一般JavaScript給人的感覺就是:

知識很抽象,太難搞,也就DOM操作還簡單點。

1、內容多,函式庫、物件庫一大堆。

2、閉包,內建物件,作用域表示沒地方用,不用學。

例如:下列的閉包(能夠訪問另一個函式作用域的變數的函式)

function outer() {     var  a = '變數1'     var  inner = function () {            console.info(a)     }    return inner    // inner 就是一個閉包函式,因為他能夠訪問到outer函式的作用域}

3、混合多種程式設計思想,它裡面不但牽涉面向過程程式設計思想,又有面向物件程式設計思想,如果你學過別的後端語言,它會讓你對面向物件產生懷疑。。。

如何開啟學習JavaScript

我接觸之前我已經學了Java、.net,但對其都不是熟練使用,也就能進行一些基礎開發,後來學JavaScript的時候,腦子真的是一篇混亂,什麼語言都能寫進去,哈哈哈。但也苦逼的堅持下來了,到目前從事前端工作。

1、一定要確定它的地位

準確的說,如果以後想要在前端掙大錢,有深造,就一定要熟練地使用JavaScript,否則走不遠。可以說JavaScript是整個前端的核心,如果不知道這,勸你還是別進前端了,遲早會退出的。我相信你,既然選擇了,就會埋頭苦學,無論前面有多難,這是無解的。

2、學習路線

再三叮囑,千萬不要停留在DOM操作,那只是基礎,如果這樣,jquery更好,一定要有學習路線。看看我的學習路線:

a:基礎:必須認真過濾一遍,而且是手敲程式碼,加同類型題目測試學習,不要說一點程式碼沒敲,就跟看書似的那麼過來的,會被人鄙視的。

d:js面向物件程式設計思想,學會了封裝函式,還要學會去封裝物件,像一些介面等等,這裡就已經很牛逼了。

e:再牛逼一點,就可以寫出自己的開源專案啦,相信你。

3、構建知識導圖

總結

不積跬步,無以至千里;不積小流,無以成江海。騏驥一躍,不能十步;駑馬十駕,功在不捨。鍥而舍之,朽木不折;鍥而不捨,金石可鏤。蚓無爪牙之利,筋骨之強,上食埃土,下飲黃泉,用心一也。蟹六跪而二螯,非蛇鱔之穴無可寄託者,用心躁也。

能堅持下去本來就很難,學精更難,能把簡單的做好就是不簡單,你能走多遠,就看看平時有多努力,就像你能在前端能拿多少k,是跟你的JavaScript掌握多少是分不開的。

最後,接下來的文章裡我會持續寫關於JavaScript的相關文章,感興趣的可以關注一下,跟我一起來學習,謝謝關注。

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 開發也需了解的運維知識之Docker