摘要:基礎(chǔ)鞏固基礎(chǔ)總結(jié)使用已經(jīng)好幾年了,由于工作主要是做服務(wù)端開(kāi)發(fā),在工作中逐漸發(fā)現(xiàn)的使用范圍原來(lái)越廣泛。這里要注意,務(wù)必將基礎(chǔ)部分掌握牢靠,磨刀不誤砍柴功,只有將基礎(chǔ)部分掌握并建立起系統(tǒng)的知識(shí)體系,在后面學(xué)習(xí)衍生的其他模式才能游刃有余。
基礎(chǔ)鞏固:JavaScript基礎(chǔ)總結(jié)
使用JavaScript已經(jīng)好幾年了,由于工作主要是做服務(wù)端開(kāi)發(fā),在工作中逐漸發(fā)現(xiàn)JavaScript的使用范圍原來(lái)越廣泛。在之前的幾個(gè)項(xiàng)目中,公司配備了一個(gè)設(shè)計(jì)和一個(gè)前端,前端人員只會(huì)切圖和排版,稍微復(fù)雜一點(diǎn)的功能還是的我們自己來(lái),畢竟是要和后端交互,所以這個(gè)還是邁步過(guò)去的關(guān)口。之前只是在每次需要使用JavaScript的時(shí)候去粗略的學(xué)習(xí)了一下,基本能完成所有的工作需求。不會(huì)的地方在github上面找一些案例修改一下也能完美的運(yùn)行。如何學(xué)習(xí)JavaScript?
今天,JavaScript已經(jīng)到了不得不學(xué)的地步,從前用戶交互到UI框架,以及今天非常流行的VUE,jQuery,React,nodejs,H5游戲,APP等等,JavaScript的身影已經(jīng)無(wú)處不在,所以我們有必要抽時(shí)間來(lái)系統(tǒng)的梳理一遍。
對(duì)于已經(jīng)掌握一兩門(mén)開(kāi)發(fā)語(yǔ)言的同學(xué)都知道,學(xué)習(xí)任何一門(mén)語(yǔ)言不外乎學(xué)習(xí)這幾個(gè)大類:
語(yǔ)言本身的原理,語(yǔ)法,數(shù)據(jù)類型,數(shù)據(jù)的操作,控制流程,邏輯判斷,使用技巧
功能函數(shù),系統(tǒng)類庫(kù),擴(kuò)展類庫(kù)
框架,設(shè)計(jì)模式,不同宿主環(huán)境編程
我們根據(jù)上面的學(xué)習(xí)思路來(lái)整理和總結(jié)JavaScript從最基礎(chǔ)到類庫(kù)框架的使用和開(kāi)發(fā),以及一些該語(yǔ)言的編程思路,算法和技巧。在這里我們一定要注意一點(diǎn),基礎(chǔ)知識(shí)很關(guān)鍵。在這個(gè)浮躁的時(shí)代,人人都想著快速掙錢(qián)。很多人都是靜不下心來(lái)進(jìn)行一個(gè)系統(tǒng)的學(xué)習(xí),認(rèn)為我用到哪里就去看哪里。雖然JavaScript入門(mén)是非常容易,后端的同學(xué)花一天時(shí)間過(guò)一遍就能開(kāi)始寫(xiě)出一些簡(jiǎn)單的功能。但是想要精通非數(shù)年不可及也。大家一定要相信一點(diǎn),在前端幾百萬(wàn)從業(yè)人群里面,真正技術(shù)拿得出手的真的不超過(guò)15%。我?guī)н^(guò)很多徒弟也招過(guò)新人入職,在中國(guó)的就業(yè)競(jìng)爭(zhēng)壓力下,人人都想著速成,看到某個(gè)行業(yè)火熱,就想一股腦擠進(jìn)去,學(xué)習(xí)編程如果不是興趣驅(qū)動(dòng),很多人都是沒(méi)有辦法堅(jiān)持到最后的。
JavaScript基礎(chǔ)篇ECMAScript是JavaScript的標(biāo)準(zhǔn)規(guī)范,我們?cè)诰帉?xiě)程序的時(shí)候必定要按照這個(gè)規(guī)范來(lái)操作。到目前為止,已經(jīng)發(fā)展到ES6和ES7了,每一次的版本升級(jí)都會(huì)產(chǎn)生一些新的支持和規(guī)范和瀏覽器的兼容解決方案。
我們的學(xué)習(xí)和續(xù)文按照以下流程來(lái)進(jìn)行總結(jié),從而建立一個(gè)系統(tǒng)化的知識(shí)體系。這里要注意,務(wù)必將基礎(chǔ)部分掌握牢靠,磨刀不誤砍柴功,只有將基礎(chǔ)部分掌握并建立起系統(tǒng)的知識(shí)體系,在后面學(xué)習(xí)JavaScript衍生的其他模式才能游刃有余。在學(xué)習(xí)JavaScript之前請(qǐng)務(wù)必先系統(tǒng)的學(xué)習(xí)好HTML和CSS知識(shí)。
學(xué)習(xí)JavaScript主要是學(xué)習(xí)以下幾個(gè)方面:
JavaScript本身的核心語(yǔ)法(ECMAScript)
瀏覽器對(duì)象模型 (BOM)
文檔對(duì)象模型(DOM)
大家在這里應(yīng)該明白了,ECMAScript其實(shí)是JavaScript的子集,我們所說(shuō)的JavaScript其實(shí)是在Web瀏覽器這個(gè)宿主環(huán)境上,JavaScript包含了基本的核心,也就是ECMAScript來(lái)標(biāo)準(zhǔn)化基本的語(yǔ)法,我們的宿主環(huán)境在web瀏覽器,所以在ECMAScript的基礎(chǔ)上有添加了和瀏覽器進(jìn)行交互的擴(kuò)展BOM和對(duì)文檔節(jié)點(diǎn)交互的DOM。不光在JavaScript里面才有ECMAScript,比如大家耳熟能詳?shù)腘ode和Adobe Flash,所以ECMAScript并不是參照web瀏覽器的,JavaScript實(shí)現(xiàn)了ECMAScript,Adobe ActionScript同樣也實(shí)現(xiàn)了ECMAScript。
ECMAScript主要規(guī)定了以下幾個(gè)方面的內(nèi)容的描述:
語(yǔ)法
類型
語(yǔ)句
關(guān)鍵字
保留字
操作符
對(duì)象
文檔對(duì)象模型(DOM)是針對(duì)XML但經(jīng)過(guò)擴(kuò)展于HTML的應(yīng)用程序編程接口。DOM把整個(gè)頁(yè)面映射為一個(gè)多層節(jié)點(diǎn)結(jié)構(gòu)。HTML或XML頁(yè)面中的每個(gè)組成部分都是某種類型的節(jié)點(diǎn),這些節(jié)點(diǎn)又包含著不同類型的數(shù)據(jù)。在DOM中,這個(gè)頁(yè)面通過(guò)分層節(jié)點(diǎn)(元素),通過(guò)DOM創(chuàng)建表示文檔的樹(shù)形圖,開(kāi)發(fā)人員獲得了控制頁(yè)面內(nèi)容和結(jié)構(gòu)的主動(dòng)權(quán)。借助DOM提供的API,開(kāi)發(fā)人員可以輕松自如的刪除、添加、替換或修改任何節(jié)點(diǎn)。
瀏覽器對(duì)象模型(BOM),開(kāi)發(fā)人員使用BOM可以控制瀏覽器顯示的頁(yè)面以外的部分,但是它作為JavaScript實(shí)現(xiàn)的一部分去沒(méi)有相關(guān)的標(biāo)準(zhǔn)。這個(gè)問(wèn)題在HTML5中得到了解決,HTML5致力于把很多的BOM功能寫(xiě)入正是規(guī)范。從根本上將,BOM只處理瀏覽器窗口和框架,但人們習(xí)慣上也把所有針對(duì)瀏覽器的JavaScript擴(kuò)展算作BOM的一部分,以下就是這樣的擴(kuò)展:
彈出新瀏覽器窗口的功能
移動(dòng)、縮放和關(guān)閉瀏覽器窗口的功能
提供瀏覽器詳細(xì)信息的navigator對(duì)象
提供瀏覽器所加載頁(yè)面的詳細(xì)信息的location對(duì)象
提供用戶顯示器分辨率詳細(xì)信息的screen對(duì)象
對(duì)cookie的支持
想XMLHttpRequest 和 IE的ActiveXobject這樣的自定義對(duì)象
由于沒(méi)有BOM標(biāo)準(zhǔn)可以遵循,因此每個(gè)瀏覽器都有自己的實(shí)現(xiàn)。
JavaScript在HTML中的使用// 引入外部腳本 // 執(zhí)行代碼段
javaScript代碼可以放在head標(biāo)簽內(nèi),但是由于JavaScript解析器是自上而下來(lái)執(zhí)行代碼的,所以如果你在head里面寫(xiě)的JavaScript代碼里面包含獲取元素節(jié)點(diǎn),回導(dǎo)致找不到節(jié)點(diǎn)而出錯(cuò),我們可以使用window.onload = function(){代碼段}來(lái)讓整個(gè)文檔解析完成以后再執(zhí)行JavaScript代碼。最好的辦法就是將外部腳本引入和內(nèi)部代碼都寫(xiě)到
標(biāo)簽前后是最好的辦法。當(dāng)然,我們除了直接引入外部腳本以外,還可以動(dòng)態(tài)的從后端來(lái)獲取JavaScript執(zhí)行代碼和需要的Json數(shù)據(jù)。比如我們?cè)陂_(kāi)發(fā)游戲的時(shí)候,對(duì)游戲的每個(gè)玩法可以進(jìn)行動(dòng)態(tài)的預(yù)加載,在后端來(lái)獲取游戲的配置信息,然后作為響應(yīng)數(shù)據(jù)響應(yīng)給前臺(tái)瀏覽器,來(lái)初始化游戲界面。
基本數(shù)據(jù)類型字符串
數(shù)字
布爾值
數(shù)組
對(duì)象
運(yùn)算符
條件操作符
邏輯運(yùn)算符號(hào)
if else
do while
while
switch
for
for in
label
break 和 continue
with
內(nèi)置函數(shù)
自定義函數(shù)
匿名函數(shù)
沒(méi)有重載
作用域鏈
函數(shù)作用域
堆內(nèi)存和占內(nèi)存
引用計(jì)數(shù)和標(biāo)記清除
使用對(duì)象
數(shù)組對(duì)象的方法運(yùn)用
字符串的方法運(yùn)用
創(chuàng)建和操作數(shù)組
理解JavaScript類型
日期類型
正則表達(dá)式
function類型
基本包裝類型
定時(shí)器相關(guān)
未完待續(xù)....
HTML屬性操作文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/108095.html
摘要:基礎(chǔ)語(yǔ)法鞏固正則表達(dá)式引擎根據(jù)正則去匹配字符的時(shí)候,是通過(guò)檢查索引的方式。妻原配就是好,可以直接使用正則表達(dá)式調(diào)用它。下面解釋一下上面這些常用的元字符查找單個(gè)字符,除了換行和行結(jié)束符。正則系列文章整理到了 上一章內(nèi)容:正則表達(dá)式實(shí)戰(zhàn)篇 知識(shí)回顧 前2章分別學(xué)習(xí)了正則表達(dá)式入門(mén)技巧,以及遇到正則需求該如何去分析問(wèn)題,還有正則表達(dá)式實(shí)戰(zhàn)的一些場(chǎng)景解釋。 這一章內(nèi)容偏向理論,推薦你點(diǎn)擊開(kāi)頭的...
摘要:發(fā)布應(yīng)用市場(chǎng)的平臺(tái)搶紅包工具紅包精靈開(kāi)源啦掘金紅包精靈,如果喜歡,點(diǎn)個(gè)開(kāi)源不易。作者將原素材文章進(jìn)行了新內(nèi)容的添加和重新排列,但是因?yàn)槲恼赂咝У拇a編寫(xiě)技巧總結(jié)前端掘金本文總結(jié)了代碼編寫(xiě)技巧,來(lái)提升你的和代碼。 收藏安卓開(kāi)發(fā)中非常實(shí)用優(yōu)秀的庫(kù)! 有圖有真相! - Android - 掘金本來(lái)是打算收藏工具類的,但轉(zhuǎn)念一想,已經(jīng)有這么多優(yōu)秀的庫(kù)了,就沒(méi)必要再去重復(fù)造輪子了,便歸納工作中比...
摘要:而過(guò)去發(fā)生的一切,恍若昨天我一直都有個(gè)計(jì)劃每隔半年寫(xiě)一篇總結(jié)以記錄我的大學(xué)生活,回看過(guò)去,總結(jié)不足,這便是我當(dāng)初寫(xiě)這個(gè)專題的目的。在大一結(jié)束的時(shí)候,我也寫(xiě)過(guò)一篇一年總結(jié)記我的大一生活。 ...
閱讀 3376·2021-11-22 13:53
閱讀 3411·2021-10-11 11:11
閱讀 932·2019-08-30 14:12
閱讀 1222·2019-08-29 17:16
閱讀 640·2019-08-29 16:45
閱讀 3349·2019-08-29 12:56
閱讀 670·2019-08-28 17:55
閱讀 2065·2019-08-26 13:24