摘要:如果只是這個(gè)問題的話,好像也沒什么嘛,不就是加個(gè)嘛部分同學(xué)是不是表示,完全可以接受吖。當(dāng)然不僅僅只是這樣,我們來看下第二個(gè)問題。
往期回顧
在上一期的《JavaScript的組成 | DOM/BOM》?里,我們有對(duì)文檔對(duì)象模型-DOM、瀏覽器對(duì)象模型-BOM
這兩大部分進(jìn)行了解學(xué)習(xí),如果有還不是很明白的小伙伴們,可以在上篇文章的下方留言給我哦,我會(huì)為大家解答的哦
很快我們就進(jìn)入了紅寶書的第二章了!這章我們來討論下在HTML中使用JavaScript的幾種方法~(別著急走,我知道這是入門知識(shí),但是你真的掌握了嘛?)來看看吧~
在開發(fā)JavaScript的時(shí)候,Netscape公司要解決的第一個(gè)問題就是:“如何讓JavaScript既能與HTML頁面共存,又不影響頁面在其他瀏覽器的呈現(xiàn)效果?”最終的解決方案是為Web增加統(tǒng)一的腳本支持,也就是我們現(xiàn)在看到的script標(biāo)簽
當(dāng)然我們今天要討論的不是這個(gè)標(biāo)簽的誕生史,也不是長得好不好看這些問題~而是
如果你熟悉怎么在HTML內(nèi)添加CSS,那么悄悄告訴你一個(gè)訣竅~基本和CSS類似,不過也有不一樣的地方,我們來對(duì)比看一下
第一種:頁面內(nèi)部直接嵌入
添加頁面內(nèi)部直接嵌入的CSS代碼,通過以下方式(好巧都是s開頭,千萬不要弄錯(cuò)哦)
添加JS的代碼也是類似,我們來看一下
這里我們可以很明顯看到,開始產(chǎn)生了差異,那我們來總結(jié)下有哪些~
●差異
style引入外部文件的時(shí)候是通過 “href”屬性 ,js文件引入通過 “src”(像是img標(biāo)簽引入圖片也是src)
link是一個(gè)單標(biāo)簽,但是script是一個(gè)雙標(biāo)簽(有沒有不知道單標(biāo)簽和雙標(biāo)簽的吖~在評(píng)論下方留言~小姐姐給你解答喲)
除了以上兩點(diǎn)很明顯的差別以外,其實(shí)JS標(biāo)簽可以添加的位置與CSS也有不同,我們可以看到以上的案例中,我都是在
標(biāo)簽中添加的,這并沒有什么問題,但是在實(shí)際工作中,我們更推薦另一種做法,接下來我們就來看一下~●script標(biāo)簽的位置
除了最常規(guī)的在head中我們可以使用,其實(shí)在body內(nèi)部的任何地方我們都可以使用,那么這么多地方,我們到底怎么選擇呢?就讓我們來看一下日常工作中我們推薦的做法:
隨便給個(gè)文字,表明script的立場要在body的“結(jié)束”標(biāo)簽前
我們會(huì)選擇把script標(biāo)簽放在
之前,
那為什么這么做的?有什么好處?
添加在head標(biāo)簽中缺點(diǎn)分析
獲取元素時(shí),因?yàn)轫撁嫖醇釉谕瓿桑瑫?huì)獲取失敗
在上面的這段代碼中,我希望可以打印oDiv這個(gè)元素,但是我們通過控制臺(tái)可以看到返回的是“null”,這是因?yàn)槭裁茨兀?/p>
瀏覽器在遇到
onload這個(gè)事件可以幫助我們等待頁面中元素加載完成之后再執(zhí)行后續(xù)操作,這樣的話,頁面中已經(jīng)有了這個(gè)元素的存在,我們的獲取操作就有效果啦。
如果只是這個(gè)問題的話,好像也沒什么嘛,不就是加個(gè)onload嘛~部分同學(xué)是不是表示,完全可以接受吖。當(dāng)然不僅僅只是這樣,我們來看下第二個(gè)問題。
●瀏覽器窗口長時(shí)間空白
正如我們上面看到的,代碼的執(zhí)行是有順序的,我們在引入一個(gè)外部JS文件的時(shí)候,需要等待全部的JS代碼都被下載、解析和執(zhí)行完成以后,才開始呈現(xiàn)頁面的內(nèi)容,對(duì)于需要很多JS文件的頁面來說,下載文件和解析的過程將會(huì)導(dǎo)致頁面無法呈現(xiàn)。這種空白的時(shí)間對(duì)于用戶來說,是非常不好的用戶體驗(yàn),雖然很多用戶的第一反應(yīng)可能是:“今天網(wǎng)速這么差的么??”,卻沒想到是頁面本身就存在問題。
為了避免這樣的問題,所以在實(shí)際的工作中,我們推薦寫在
標(biāo)簽前面,這樣可以有更好的用戶體驗(yàn)哦~不要再甩鍋給網(wǎng)絡(luò)啦!
●注意事項(xiàng)
如果同時(shí)需要使用內(nèi)部嵌入式的引用和外部文件的引用,正確做法如下:
!!!!千萬不要合并到一起!!!!如下錯(cuò)誤示范:
如果你是初學(xué)者的話,一定一定不要這樣操作,這樣的載入方式會(huì)導(dǎo)致你內(nèi)部嵌入的代碼被忽略,也就是無效。
第三種:行間添加
其實(shí)這種的用途并不多,甚至可能沒有行間的樣式的使用來的頻繁,不過我們可以了解一下~
CSS添加行間樣式
添加行間的JS
//點(diǎn)擊這個(gè)div會(huì)彈出一個(gè)1
當(dāng)然,關(guān)于script標(biāo)簽的使用方式不僅僅只有這些~
請大家期待下篇吧,我將帶著大家了解一下type屬性的用途等等等等的知識(shí)……
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/99496.html
摘要:活動(dòng)結(jié)束單文件組件使用構(gòu)建工具創(chuàng)建項(xiàng)目,綜合來看單文件組件應(yīng)該是最好的定義組件的方式,而且不會(huì)帶來額外的模版語法的學(xué)習(xí)成本。 前端組件化開發(fā)已經(jīng)是一個(gè)老生常談的話題了,組件化讓我們的開發(fā)效率以及維護(hù)成本帶來了質(zhì)的提升。 當(dāng)然因?yàn)楝F(xiàn)在的系統(tǒng)越來越復(fù)雜龐大,所以開發(fā)與維護(hù)成本就變得必須要考慮的問題,因此滋生出了目前的三大前端框架 Vue、Angular、React。 那今天我們就來看看 V...
摘要:接觸這么多年,第一次總結(jié)一下它的遍歷語法。而且你必須借助特定的結(jié)構(gòu)才能遍歷數(shù)據(jù)結(jié)構(gòu)。它的作用是遍歷對(duì)象的鍵名。建議僅在遍歷數(shù)組的時(shí)候使用。另一個(gè)優(yōu)點(diǎn)是,它可以遍歷任何部署了接口的數(shù)據(jù)結(jié)構(gòu),甚至是非的數(shù)據(jù)類型,即自己定義的數(shù)據(jù)結(jié)構(gòu)。 接觸JavaScript這么多年,第一次總結(jié)一下它的遍歷語法。以前我大部分時(shí)間都在老版本的JavaScript下寫代碼,所以大部分時(shí)間都是用for...in...
摘要:的意思是,從字面意思來看是用了的方法,繼承原有的方法類,然后又添加了自己的某些私有方法。用來實(shí)現(xiàn)代碼如下的意思是,從字面意思來看是用了的方法。 世界上最遠(yuǎn)的距離不是生與死的距離,而是文檔就在你面前,你依然不知道這個(gè)庫怎么用。 鄙人IQ不高,已經(jīng)被Q.js虐了幾天。查看了github上kriskowal/q的文檔,現(xiàn)在把幾種看明白了的使用方法整理記錄下來,以下幾種方法可以把nodejs中...
摘要:老姚淺談怎么學(xué)鑒于時(shí)不時(shí),有同學(xué)私信問我老姚,下同怎么學(xué)前端的問題。擼碼聽歌,全局控制。 淺析用 js 解析 xml 的方法 由于項(xiàng)目上需要解析 xml,于是各種百度,然后自己總結(jié)了下各個(gè)主流瀏覽器解析 xml 的方法,只能是很淺顯的知道他的用法,但是還沒有深層次的研究。 裝 X - 建立自己的斗圖網(wǎng)站庫 之前加過一個(gè)斗圖群,看到很多經(jīng)典的表情,然后就收藏到了 QQ, 迫于本屌絲開不起...
摘要:你應(yīng)該知道的種設(shè)計(jì)模式前端掘金每位開發(fā)者都努力寫出可維護(hù)的易讀的可復(fù)用的代碼。繼承關(guān)系本前端書籍整理,高清前端掘金發(fā)現(xiàn)了一個(gè)下載前端書籍的地方,分享給大家。 你應(yīng)該知道的 4 種 JavaScript 設(shè)計(jì)模式 - 前端 - 掘金每位開發(fā)者都努力寫出可維護(hù)的、易讀的、可復(fù)用的代碼。隨著應(yīng)用變得越來越大,代碼的結(jié)構(gòu)也越來越重要。設(shè)計(jì)模式驗(yàn)證了解決這個(gè)挑戰(zhàn)的重點(diǎn)——在特定環(huán)境中,對(duì)同類事物...
閱讀 1825·2023-04-26 02:32
閱讀 573·2021-11-18 13:12
閱讀 2457·2021-10-20 13:48
閱讀 2526·2021-10-14 09:43
閱讀 3837·2021-10-11 10:58
閱讀 3504·2021-09-30 10:00
閱讀 2940·2019-08-30 15:53
閱讀 3495·2019-08-30 15:53