天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

走出JavaScript初學(xué)困境―js初學(xué)

從開始接觸JS這東西有一年時間了,心頭總是有一些說不出來的苦悶。在論壇里也常常有人這么說。那么苦在何處呢?總是感覺學(xué)的不深入,一些簡單的東西可以做但也是不能得心應(yīng)手。能不能把這種苦再說的具體點(diǎn)兒呢?都說了是“說不出來的苦悶”怎么具體呀?

何為難言之隱?說不出來,不能具體,不能把問題落到實(shí)處就不能得到解決的辦法。這就是難言之隱!我認(rèn)為這也就是初學(xué)者的“困境”。之所以要用“我認(rèn)為”正好迎合了本文標(biāo)題中的“心得”二字。如果能對大家有幫助我非常高興。

下面言歸正傳,我經(jīng)過回想和思考總結(jié)出下面幾條初學(xué)者的“難言之隱”大家看看有沒有說到我們的心坎兒上,呵呵。

一、用系統(tǒng)的知識將問題具體化

我們在學(xué)習(xí)時經(jīng)常會發(fā)現(xiàn)可以用不同的方法來實(shí)現(xiàn)同一個問題。例如,要為元素綁定一個點(diǎn)擊事件可以在HTML元素上用<a href="#" onClick="f1()"></a>,我們起初會認(rèn)為這就是綁定事件的方法。

當(dāng)我們第二次又看到可以將一個函數(shù)傳遞給一個事件來綁定:a.onclick=f1;這時我們又會想原來綁定事件不只有一種方法。

當(dāng)我們第三次又看到用addachEvent("onclick",f1)這種方法綁定事件的時候,你一定會想綁定事件的方法可能不只這三種。而且做一件事沒理由要三種相同的方法,他們之間一定有不同之處?

那么他們有什么不同之處呢?到底綁定事件有多少種方法呢?當(dāng)你發(fā)現(xiàn)一種方法在IE中不兼容的時候你還會問這到底是為什么呢?是我的語法錯誤了嗎?還是怎么回事。一個又一個的問題結(jié)束之后你只好問自己:“天呀!我什么時候才能學(xué)好JavaScript呢?!“。

可能這樣下去你很難學(xué)好JS。其實(shí)還要告訴你,你離學(xué)好他并不遠(yuǎn)了,只是你不知道怎么走。原因在哪里?原因就是沒有系統(tǒng)的知識,原因就是沒有讀過《JavaScript權(quán)威指南》,他會告訴你綁定事件有四種方法,并且有兩種是基本方法,所有瀏覽器都支持他,另外還有兩種高級方法,一種是W3C標(biāo)準(zhǔn)方法,一種是IE標(biāo)準(zhǔn)方法,所以你知道為什么IE不兼容其中的一種高級方法了,對嗎?

現(xiàn)在事情具體化了,綁定一個事件的時候只需考慮這四種方法,你也不會再有那么多的疑惑了。你也會覺得自己弄懂事件了,下一步你應(yīng)該去弄懂其它問題了,你還會覺得自己在JS方面終于有進(jìn)展了,當(dāng)然你還會感覺到走出一個困境了。

二、必需了解JavaScript的歷史

你了解JS的歷史嗎?我當(dāng)然了解,他原本不叫JavaScript,他最早不是實(shí)現(xiàn)在IE中的。對,說的很好,可這不是最重要的,知道這個也不會成為高手,你必須了解的更詳細(xì),而且主要是了解功能進(jìn)化方面的歷史。

就像上面,為什么綁定事件會有那多的方法?為什么獲得一個元素會有那么多的方法?倒底是document.links[]正規(guī)一點(diǎn)?還是getElementsByTagName('a')正規(guī)一點(diǎn)?哪一個兼容性更好?還有多少這樣的方法?

要知道一個問題就夠頭痛了,十個問題你就無從下手,一百個問題你就會懷疑自己。一千個問題最后又回到那個問題“天呀!我什么時候才能學(xué)好JavaScript“?呵呵,事情往往就是這樣。解決的方法就是具體化他,去弄懂到底有幾種方法,為什么又有這些方法。這些問題一定會有答案,因?yàn)镴S不是外星人留下的東西,是人創(chuàng)造出來的,而那個人的思維也是有限的,不是嗎?

當(dāng)你知道document.links[]是遺留的document方法,而且這種遺留方法一共有5個。分別是anchors[],applets[],forms[],images[],links[]的時候有些問題就消失了,當(dāng)你還知道DOM標(biāo)準(zhǔn)保留了他們,你還知道所有瀏覽器都支持他們,你還知道他們就是所謂的“0級DOM”你又會走出一個“困境”。

三、JS有縱橫交錯的知識結(jié)構(gòu)

JS的知識結(jié)構(gòu)是橫向和縱向交錯的,這加大了理解他的難度,對這一點(diǎn)必需有一個清晰的認(rèn)識。下面解釋一下“縱橫交錯”。

一般的知識都有橫向性。比如從大的方面JS分為核心部分和客戶端部分。這是橫向。核心部分又分為詞法結(jié)構(gòu),數(shù)據(jù)類型和值,變量,表達(dá)式和運(yùn)算符,語句,對象和數(shù)組,函數(shù),類,模塊和名字空間,正則表達(dá)式。這也是橫向。

客戶端部分可以分為BOM,DOM,事件,樣式,表單等,這些也是橫向的知識結(jié)構(gòu)。

一門技術(shù)很少用時間作為結(jié)構(gòu),但因?yàn)闉g覽器的發(fā)展是動態(tài)的,不同時期的瀏覽器對JS有不同程度的實(shí)現(xiàn),而在不同時間針對當(dāng)時瀏覽器所編寫的網(wǎng)頁不能因?yàn)榧夹g(shù)的發(fā)展就不去考慮他,而且讓所有的網(wǎng)站都隨著技術(shù)的發(fā)展而重新編寫是不可能的,所以JS即要發(fā)展升級,也要保留向前的支持。所以就算有了更好的方法也必需保留之前的方法,就有了好多遺留的JS屬性和方法,比如“0級DOM”在新的W3CDOM中得到了保留,從某種程度來講他就是縱向的。

當(dāng)對知識結(jié)構(gòu)有了清楚的認(rèn)識,會有一個好處就是當(dāng)我要解決一個問題的時候我就能知道我要用的是哪一塊的知識。比如要得到一個元素在文檔中的位置就會知道用的是DOM中元素的屬性,要得到鼠標(biāo)指針的位置就要用事件對象的屬性。要獲得一個元素的引用可以用遺留的DOM也可以用W3C標(biāo)準(zhǔn)的DOM方法。這是件好事。

其實(shí)上面問題的核心就是系統(tǒng)化和具體化,這是我在學(xué)習(xí)過程中覺得很重要的一點(diǎn)。這一點(diǎn)確實(shí)為我解決了不少疑惑。

走出初學(xué)困境,我們需要系統(tǒng)的知識和具體化的思想。謝謝你能花時間讀這篇文章希望能對你有幫助。如果想討論更多的問題,歡迎加我的QQ:303551651。

JavaScript技術(shù)走出JavaScript初學(xué)困境―js初學(xué),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 敌伦小芳的第一次 | 国产v综合v亚洲欧美大片 | 人妻仑乱少妇88MAV | 午夜福利理论片在线播放 | 九九热最新视频 | a级毛片黄免费a级毛片 | 国产亚洲精品线视频在线 | 欧美色妞AV重囗味视频 | bl 纯肉 高Hbl被强文 | 99国产精品免费视频 | 校花在公车上被内射好舒服 | 亚洲视频在线免费看 | 色WWW永久免费视频首页 | 免费果冻传媒2021在线观看 | 黑色丝袜美腿美女被躁翻了 | 亚洲精品一二三区-久久 | 亚洲电影网址 | 亚洲精品成人AV在线观看爽翻 | 日韩精品无码免费专区 | 国产精品亚欧美一区二区三区 | 暖暖日本大全免费观看 | 亚洲AV久久久噜噜噜噜 | 亚洲精品乱码久久久久久中文字幕 | 在线观看精品视频看看播放 | 在线观看永久免费网址 | 同桌上课把奶露出来给我玩 | 一二三区乱码不卡手机版 | 四虎精品久久久久影院 | porono日本xxx | 交换邻居波多野结衣中文字幕 | 好男人WWW免费高清视频在线 | 国产精品点击进入在线影院高清 | 91免费精品国自产拍在线可以看 | brazzers情欲狂欢 | 免费国产久久啪在线 | 激情午夜307| 韩国污动漫无遮掩无删减电脑版 | 国产盗摄一区二区三区 | 成人免费视频网站www | 视频一区国产精戏刘婷30 | 草草久久久亚洲AV成人片 |