學習js看書籍好還是上機直接敲代碼好?

我最近看了本基礎javascript,可是看完以後還是發現有很多函數都不記得,這時候我是不是該直接上機並且在網路上找點特效模仿來敲代碼?但是,比如我要寫一個特效,其實在js中是有提供方法的,可是我不知道的話,那不是也做不出來?面對這樣的情況,我是不是先找個api來重頭到尾看一遍,即使我不能記住所有方法的使用,但是我還是知道了有這個方法,然後在我寫特效的時候,萬一不會用那個具體函數,那麼我還是可以查一下,對吧?想請問各位,你們平常是怎麼學習js的?能具體說說您的做法嗎?我想參考下,謝謝各位熱心人,好人有好報的哈。


看書的同時敲完書上所有的代碼


書上一般只描述一部分正確寫法,且很少會提及怎樣寫是不對的

這樣下去就很難做到隨機應變,因為我們不太清楚特定技巧的有效範圍,生怕用錯了。

所以,看書的同時親手敲代碼,試驗一下邊界情況,才是極好的。

試驗一下其他寫法行不行,看看怎樣寫不行。

這樣在實際解決問題的時候,才能夠胸有成竹,遊刃有餘


編程是一項實踐性很強的活動


看書看得再好,代碼不寫也等於零,其實連零都沒有,是負的。

因為看書給人一種錯覺,覺得看過了,就等於會了,直到發現什麼都不會。

也因為有的小朋友因為看了一兩本書,不自覺嬌嗔起來,學東西一旦進入這種狀態,就基本毀了,你裝得再謙虛也沒用。

編程不是看程序,是編程序,是操作技能,其餘技能都是這個操作技能的輔助。

這就好比練劍,劍譜上都是姿勢圖畫,好不好懂,不難懂,但看會劍譜你就能當大俠么?

拜我們的基礎教育所致,不少小朋友認為編程是「記住」東西,特別是「記住」東西的「文本含義」。

這些小朋友的思維還停留在初中生階段,和他們糟糕的老師一個水平,編程能力是「運用」能力,編程思維是「理解水平」,而不是記憶水平,比如一門編程語言,初看很複雜,但你真正需要學會的概念就那麼一些,編程思維的水平是insight,是quality,說白了,是你到底理解沒理解,會不會用,兩者和你看沒看懂「文本」,記住沒記住沒半毛錢關係,你找一個鐵匠打一把絕世好劍,他未必能用文本給你說清楚這裡面的奧秘,給你背每個細節,但他就是做得出來。

「運用之妙,存乎一心」,編程應該追求這個。

而不是「知道」,「看懂」,「記住」—— 你的小學中學老師愛說的這些廢話。

你可以去問寫了很多年程序的人,開了很多年車的老司機,你問他們「記住」了什麼?他們可能一時說不上來,他們的記憶不在腦子裡,在身體里,一端起鍵盤,一握方向盤,就什麼都來了。

編程是「編程序」,唯一正確的學習就是編程序,其餘所有途徑都是「編程序」的輔助

其實很多小朋友明白這道理。

只不過他們的家長和老師從小不教「耐心」,也不教「自主」。所以很多人因為自己不能「很快」寫出程序,因為受不了那種一點一滴的「挫敗感」,因為假設「自己該迅速得到那個標準答案」,假設「學習就是快速得到標準答案」。

但學習是一個過程,這是一個事實。—— 看到這句話我不知道多少小朋友只看到它的「文本意義」。

「哦,我懂了,學習是一個過程,我要努力」 —— 這是廢話,也是很多小朋友愛用的自我麻醉:「X我懂了,... 跳過邏輯 ...,結論永遠是:我要努力。」努力什麼?

問題是:你真正意識到了嗎,你能接受學習是一個過程並願意麵對這個過程中出現的任何問題並且不心潮起伏嗎?

因為所有的問題都是「正常」的。

很多時候,是「必要」的。

你該直接敲代碼,不管你怎麼敲,照著書敲或自己敲只是形式,你看書的目的永遠該是「我能寫點兒什麼」,「除了這樣寫我還能怎麼寫」,「怎麼寫會更好」,「這樣寫我意識到了什麼問題」。

但不要指望敲了代碼就「記住」東西,這不是目的,我前面說過了。你只管寫更多更好更複雜的東西便是。

如果你做到這一點,從小白到正宗程序員,大概需要300個小時的訓練,這會是你的第一階段,職業生涯最寶貴的階段之一。


邊看邊學,邊敲邊想。最後你就「無敵」了~~~


自己寫個語言庫吧,先試試each merge exrend什麼的


javascrit是一種語言。 對於入門學習,看書,視頻都是比較簡單易懂。 然後按照書中的教程去上機敲代碼才能事半功倍。 說白了就是一個先後的順序。 上來就敲代碼,複製粘貼對學習理論知識是不利的。

當然你要確定你的目標是什麼。 如果只是學學皮毛,做個網站,一兩本入門的書就夠了。 之後學會查尋文檔api,社區問問題更為有效。如果深入到架構,前端後端設計,和以後的事業發展,你需要讀很多書和高大上的文章。 有自己的news letter,總結,博客,展示網站。 敲敲代碼是完全不夠的。


學而不思則罔,思而不學則殆

一個決定能否入門開展有效的工作

一個決定你能走多遠

類似跑步 你不去跑怎麼知道自己速度如何

你不進行理論改進 傻跑就能超越其他選手奪冠?

你說是閉門專心研究理論好還是傻跑下去好?不一定要一定非此即彼的


自己造輪子,不用任何庫。。

比如你可以寫一個月曆加上日曆和日程表的插件,帶上用戶交互,保准你對日期類和Dom操作都能熟練特別多。看完就忘,被坑過印象就會深刻很多!

另外能看書就別看網上的教程,凈有人拿date拆開拼字元串做一堆邊界檢查閏年判斷再拼字元串new一個對象出來實現日期加一的操作,實際上setDate早就做好了。。。熟悉Api的話可以new 一個對象去看看prototype挨個試一試查一查文檔。。。


知乎上動嘴一套套 但寫不了幾行代碼的中科院院士也有的

偶個人以為 coder只要不寫代碼了 無論說得多好聽有多少名譽名頭

基本就是廢物 價值不會比一個勤於寫代碼的大學生1/100高

吼吼 嘿嘿


我也是學生,我覺得邊學邊練最好,學和練不是選擇關係,是並發關係。理論知識夠深,寫代碼做項目越嫻熟越好,缺一不可。

另外至於函數的話,我寫java的時候總是很確信它一定有這個功能,然後去找相關的函數或者去stackoverflow搜,見的多了就記住了。


我現在也正在學,實踐證明一定要敲代碼,因為很多錯誤在敲代碼的時候能發現,如果不敲,真正用的時候很麻煩吧


別學js了,學typescript吧。


實踐是檢驗真理的唯一標準

看三個月書,不如花半個月好好做一個初級小項目,有問題翻書或者百度


讀萬卷書 行萬里路


謝邀

直接敲代碼好,但是最好一邊看書一遍敲


先看書理解,再動手大量實踐。學任何東西不都這樣嗎?


看書沒毛病,但是要記一點,盡信書不如無書。


敲代碼唄,邊敲邊上網查,mdn,w3c啥的,很多人總是說看書啊看書啊……看書啥時候才他么學得會啊,o(╯□╰)o……………


當你看書時,你能知道這個世界有什麼。

但是只有你敲代碼時,你才能知道這個世界是什麼。


推薦閱讀:

前端在什麼情況下應該跳槽?
怎麼才能在四個月內把web前端學好學深入?
如何看待Apache再次接受阿里開源產品捐贈 移動開發框架Weex進入孵化
CSS3 display:flex和display:box有什麼區別?
Safari 會成為下一個 IE 嗎?

TAG:前端開發 | 程序員 | JavaScript | 前端工程師 | 網站建設 |