請教JS的詳細意思和學習路程 ?

新人 在HTML學習各種標籤 在CSS中學習了各種樣式屬性和他們的值 JS是一個什麼 該怎麼理解??


瀉藥。其實剛看到這個問題的時候我不是很想回答的,畢竟百度基本能搜到,想了想,還是回答一下順帶講講自己的一些經歷當給新人做個總結吧。

-----------------------下面正文---------------------------

JavaScript是什麼?

百度百科- JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基於原型的語言,內置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言,最早是在HTML(標準通用標記語言下的一個應用)網頁上使用,用來給HTML網頁增加動態功能。

在1995年時,由Netscape公司的Brendan Eich,在網景導航者瀏覽器上首次設計實現而成。因為Netscape與Sun合作,Netscape管理層希望它外觀看起來像Java,因此取名為JavaScript。但實際上它的語法風格與Self及Scheme較為接近。[1]

為了取得技術優勢,微軟推出了JScript,CEnvi推出ScriptEase,與JavaScript同樣可在瀏覽器上運行。為了統一規格,因為JavaScript兼容於ECMA標準,因此也稱為ECMAScript。

ECMAScript 和 JavaScript 的關係 - ECMAScript 6入門

更多的題主自己去網上搜,一大堆JavaScript的解釋。

那麼其實重心是在怎麼學,其實這個網上也有一大堆的引導新人入坑的文章,我自己在之前也寫過一篇相關的文章- 一入前端深似海,從此紅塵是路人系列第四彈之未來前端路該何去何從 - qiangdada的個人空間。文章裡面有一些學習方向的路線。

對於題主你,我覺得你可以先參考文章第四章-制定自己的前端學習路線。

其實我的個人的路程還算是蠻中規中矩的,接觸前端的起初和大多數人一樣,先去看的html,css。然後當我學會切圖的時候,我瞬間覺得自己賊牛逼,因為老覺得自己會做網頁開發了(現在想來當時真的是年輕)。然後再去接觸的js,剛開始我是真覺得js煩,看著看著老能睡著,於是我當時做的一個決定,不單純的看js,而是直接從js裡面的一些事件,一些特效開始看,配合靜態網頁做些特效。當然,這個方法的奏效的,因為我再不會因為看著枯燥的書籍覺得犯困,也提起了自己學習js的興趣。

然後我模擬京東官網做了一個網頁,裡面京東有的特效我都自己去實現了,什麼下拉框啊,什麼幻燈片等等。說到下拉框幻燈片,相信是很多前端小夥伴心中的一個梗(什麼?你下拉框幻燈片都不會寫?那你還做啥前端?)。

當然我因為仿了京東的官網,拿到了人生中的第一份實習offer(當時我還在讀大學)。

剛開始工作,大概花了一禮拜熟悉了項目組的開發流程(因為當時項目組的項目都是外包接的一些小項目,業務相對也簡單)。正常的965作息時間,也因為可以正常作息,讓我有更多的時間進行自我學習。下班就看紅皮寶書(JavaScript高級程序設計),為了讓自己更好的記住書上的知識點,當時我都是一邊看書一邊自己敲著書里的example。

這是當時看紅皮書做的一些標註

當我把紅皮書看的差不多的時候,我又覺得自己老牛逼了(因為當時在項目組人少,然後我就莫名的當上了前端技術一把手)。然後我就開始放縱自己了,有那麼一段時間,我沉迷網遊不能自拔,每天盯著點等下班,一下班就跑網吧玩LOL打排位(黑玫鑽五)。

消沉了大概兩個月吧,我覺得自己好像什麼進步都沒有,每天上班干著幾乎一樣的活。然後我想了想以後,我覺得這樣下去太恐怖了,然後我強制自己每天8點半以後才下班,強制自己多出來的這些時間用來學習。當時自己也不知道學什麼,就隨便買了本設計模式。我還記得當時書到的第一天,我翻開隨便看了看,心想:「握草,原來js還能這樣寫?666啊」。然後瞬間重新拾起自己好學的心,開始了新的一輪學習。

日子一天一天過去,看著自己每天都在進步,當發現自己基礎知識不是很夠用的時候,我先後又買了JavaScript權威指南和JavaScript DOM編程藝術等相關書籍進行知識的補漏。同樣的學習方法,邊看邊敲。

書籍覺得差不多了,我又開始迷上了寫插件。當時覺得插件特牛逼,然後就開始各種和書里的知識點結合寫一些有用沒用的插件,以前寫過的下拉框啊,幻燈片啊都用插件的形式寫了一遍(又回到這個梗了,哈哈)。

再然後我開始嘗試去閱讀源碼,我擦,剛開始看是真覺得累,這尼瑪能寫出這些東西的該是啥人啊。還記得當時看的是jquery的源碼,後面聽人說別一開始就看jquery的源碼,實在要看,可以去看zepto的源碼,然後我就去看了zepto的源碼。的確,短小很多,看起來也不至於那麼的費勁,花了蠻長一段時間(我自己也忘了,大概前前後後花了好幾個禮拜),把zepto看的差不多了。然後自己開始試著去實現裡面的一些功能。

再後來,打野戰的我好累,然後我跳槽了。然後為了慶祝自己順利入職新公司,我獎勵自己每天玩兩小時手游,也就是現在赫赫有名的王者榮耀。然後我入坑了,入坑了四個月有餘,最高玩到了榮耀30星,中間也接了好多鑽石王者的單子打。感覺正是因為打單子可以賺外快,所以才坑害我這麼久。脫坑一是因為遊戲版本更新太快,讓我這個之前玩LOL覺得不舒服(玩了四個多月,卻經歷了3個賽季),二是因為家裡網路忽然爆卡。現在偶爾在午休的時候帶公司同事上星星。

以上是我沖國服黃忠的兩張圖。

哎,遊戲坑害我不淺啊,好在我因為網卡醒悟了,這才開始了我最新一輪的學習。沒事多逛逛GitHub,少逛逛知乎。閱讀的時候記錄筆記,後面根據筆記有時間就寫博客總結自己之前的學到的一些知識,一做分享,二做自我總結。新學到的東西也會做總結。

反正經歷許多,有認真學習的時候,也有放蕩不羈愛(wan)自(you)由(xi)的時候。

現在我正把自己的業餘時間放在自己的overwrite項目中-一些常用方法的重寫。傳送門-xuqiang521/overwrite(歡迎star)

學習的路很長啊,一起加油吧!!!Figthing,fighting,fighting!!!

最後碼字不易,喜歡的話別忘記點贊哦(收藏不贊的都是流氓)


要理解js肯定要從這門語言的歷史和用途說起。

js最早的時候用於電話撥號上網,需要對用戶提交的表單進行檢驗,也就是是否填錯。

而後由於瀏覽器的出現以及流行,js繼續被使用於瀏覽器進行表單檢驗,網頁需求越來越複雜,瀏覽器支持的js便越來越複雜。但是由於瀏覽器廠商不止一家,大家都實現了不同語法不同功能的js,開發人員因此也很苦惱,需要掌握好幾門js,為了有一個完整得統一的規範,w3c這個組織便應運而生,之後便有了對js的統一規範。

js的語法規範被稱為ECMAScript,從最早的1,2,3版本到現在唄廣泛支持的版本5,到最新的標準6,自以及後續的7,8。

js由三部分組成,DOM(元素節點)、BOM(瀏覽器對象)、ECMAScript。

我想看到這裡你應該對js有了一個大致了解


題主看過皮影戲嗎

html就是皮影戲中的人物,活潑好看,但是光好看是沒用的,不能動啊。為了能讓他們動起來,需要在後面操縱它,怎麼操縱它,讓它做各種動作,這就是js。


HTML和css都是用於控制網頁布局顯示和內容顯示,而javascript則是控制這兩個HTML和css,其作用就是實現頁面UI與用戶的交互邏輯。

通俗來說HTML是舞台而css是演員,JavaScript是導演和劇本,舞台和演員必須按照導演和劇本的要求來演戲,才能呈現給觀眾一部完整的電影(網頁交互效果)


推薦閱讀:

為什麼中國的大學的官網都這麼難看?
JS中的閉包為何會產生"副作用,即閉包只能取得包含函數中任何變數的最後一個值"?
如何識別用戶是通過 PC、iPad 還是手機來訪問網站?
css設置元素的寬高為整數,為什麼有的瀏覽器解析出來的寬高是小數?
開發vue(或類似的MVVM框架)的過程中,需要面對的主要問題有哪些?

TAG:前端開發 | HTML | JavaScript | 前端入門 |