-
1 # 楚雜王
-
2 # SevDot
每位程式設計師都有自己的故事,做為全棧開發工程師的我來分享我的故事,我學習JavaScript的故事,我和大多程式設計師都不一樣,可以說我走了一條“反路”,我最開始的時候是學習PHP,並且不是從基礎開始學習,而是直接學習ThinkPHP,但幸運的是我獲得了我的第一份工作,我以開發PHP開發工程師的身份接到一個做輪播圖的需求,我的天,我不會啊!,但是程式設計師是一個靠技能拿薪資的,為了證明我是一個厲害的PHP開發工程師,硬著頭皮也把這個任務接下來,當然,在當時我是沒有選擇的,後來我明白一個優秀的PHP開發工程師學習前端開發是必要的。
那麼我怎麼實現輪播圖需求的呢?“君子性非異也,山假雨物也”,首先想到的就是從網上抄一個,幸運的是網上有很多示例,先不管能不能看懂,實現功能就可以了,完成任務以後,我覺得還是得學習JavaScript,然後就在w3cschool和騰訊課堂上學習,後面終於是弄懂輪播圖是怎麼實現的了。
JavaScript相對於CSS和HTML來說,要難學許多,很多抽象的概念,是一門值得終身學習的語言,從我參加工作以來,一直在學習JavaScript,但始終覺得還要學習的有很多。
-
3 # 真知見聞
做小筆記,抄書
當時自學,先把html5的標籤 抄了一遍,然後看文件,再看影片,遇見不會的在去看文件。
css3 同樣道理,如果需求不是很大,基礎的css玩明白浮動和定位就能上手了,如果要寫動畫,使用flex、grid,就需要繼續在學習,多數都是在實踐中深入瞭解,關於css3的一些技巧建議去看張鑫旭大神的文章
js是最難混的. 看過很多書依舊寫不出很好的程式碼..當時看了下基礎,直接用jquery了,用jquery寫起來簡直爽的飛起.後來才發現用原生js寫才是最屌的,看了很多本js的書,但是寫的時候還是一坨**,雖然功能上都實現了,每當自己回頭再看自己程式碼就想刪了,實際上這個都是能做最佳化和提升的。可以多看看ES6/7/8的語法,蒐集其他人寫的優雅的程式碼,模仿別人的寫法,好的程式碼都是在日積月累的開發過程中總結出來的。
-
4 # 劉耕新
學習能力是衡量一個程式設計師的水平以及潛力的重要指標。不論學什麼,掌握了正確的學習方法都可以快速上手。但這裡要先宣告,上手跟精通還是有很大區別的。要說精通一定是要經過長時間的積累的,掌握大量的細節,趟過大量的坑。使用的時間越長,越不敢說自己精通因為坑是無窮盡的。
IT學習要注重系統性,同時要注重細節的理解。
學習一門技術之前需要對這門技術做一個系統性、全面的瞭解。具體來說,就是這門技術包含哪些概念,他們之間的關係是什麼。如果是買了一本書,你在學之前就要首先把目錄看多幾遍,不要著急看裡面的內容。看看有哪些章節,章節之間是什麼關係。看目錄能讓你對這門技術做一個全面的瞭解。當你遇到具體的問題時,你腦海中迅速過一遍目錄,可以快速定位問題。系統性的掌握知識結構還有一個好處,在你分析某個技術解決方案的可行性時,你能快速的得出可行或不可行。
然後就到了學習技術細節的環節。IT的學習注重實踐。如果沒有實踐,是不敢說真正掌握了的。即使是有經驗的老手,長時間不去動手也會感動生疏。但有個誤區就是有些程式設計師並不注重對理論的學習。沒有理論的實踐是走不遠的。重不重視理論的學習大概就是工程師跟碼農的區別吧。所以技術學習要注重理論與實踐的結合。
對理論的理解有幾個我的私藏方法,寫成口號就是:抽象的東西具體化,具體的東西抽象化,找同夥,尋祖宗,透過現象找本質。舉個例子來說,比如理解閉包這個抽象的概念。先大概看一下對它的定義,看不懂、即使你以為看懂了你也只是理解了它的字面意思,然後你就可以去百度看看閉包有些什麼用法。如果不出意外的話,你搜到的是一個函數里面返回另一個函式,這個函式能訪問宿主函式定義的變數,看起來擁有反常的超能力。然後你去找一個應用例項,極有可能你找到的是一個關於輪播廣告繫結點選事件的例子。到此你以為你掌握了閉包,其實只是瞭解了閉包的皮毛,很多人工作了七八年也未必真正理解了閉包。
因為你還需要問一下自己閉包的本質是什麼?!如何探索一個事物的本質?你需要從這個事物之外去找答案。還拿閉包來說,其他語言有沒有閉包的概念?答案是有的,php有閉包,python有閉包。透過對比不同語言的閉包的程式碼,你會發現閉包並不是一個函式返回另外一個函式。重點是反常的變數訪問能力。通常是父域訪問不了子域,但閉包卻提供了這種能力。所以本質上,閉包是一個記憶體管理的問題。它提供了一種有別於鏈式作用域的記憶體控制方式。理解了這個本質之後,當你寫程式碼感覺有些變數怎麼寫怎麼彆扭的時候,不妨想想用閉包的形式。
最後呢,學習it知識不要忽略了對計算機基礎知識的學習。計算機的硬體有cpu,記憶體,外存,輸入輸出裝置。那麼任何一門語言都是離不開計算機硬體的管理範疇。比如if else這些流程控制是對cpu的排程,資料型別與變數是記憶體的管理,事件是對輸入的響應。反過來說,一門語言無非就是cpu排程,記憶體管理,輸入輸出響應等等。透過對比不同的需要在做這些事情的時候有啥不同有助於你真正的把握這門語言的特性。
-
5 # 還有希望
去年這個時候開始自學,開始看html css寫點效果出來時很得意,然後學js時就蒙了,我靠我連幾行程式碼都寫不出來,想不通這一個個字母是怎麼實現我的邏輯的…然後沒辦法買了高程硬著頭皮一點點敲出來簡單的幾行程式碼…再到後來看原始碼跟著別人的思路走敲一下,慢慢地就知道怎麼用程式碼實現自己的想法啦!
-
6 # inNocenCe
js都學不會,就果斷遠離這個行業,因為你慢慢會發現相對來說js是如此簡單,而且即使你會了js還是找不到工作
-
7 # 恆創資訊
剛入行的時候總是感嘆JavaScript難,難於上青天啊,每天看JavaScript從基礎到精通的書籍總是跟天書似的,字母都認識但是拼湊起來就不會了,甚至一些js的問題百度都不知道怎麼搜。
後來就強迫自己每天都看1個小時的學習影片,看完之後,自己重新寫一遍,有問題就翻回去重看一遍,再重新寫,這個過程很煎熬,尤其是剛開始根本寫不出來需要耐心不停的看、不停地想、不停地寫,慢慢的你會發現很多程式碼也沒有那麼難,js的一些邏輯也就自然清新明瞭了。
沒事也可以看別人寫的程式碼,自己在用一些別人的程式碼的時候要做到從會用到會改再到會最佳化,循序漸進。js有很多階段瓶頸期,每當你跨過一道坎,前途以及視野就會更寬闊,跟小說修仙的感覺很像哈哈。
回覆列表
1.從html,css,js這些基礎學起,打好基礎,不虛。
參考網站:
菜鳥網:https://m.runoob.com
你不知道的的JavaScript:
https://m.toutiaocdn.cn/item/6599829766948258312/?iid=43694522087&app=news_article×tamp=1536813781&group_id=6599829766948258312&wxshare_count=1&tt_from=weixin&utm_source=weixin&utm_medium=toutiao_android&utm_campaign=client_share&from=singlemessage
2.選擇前端三大框架(vue,react,angular)之一學習,推薦vue