DOM是為了操作文檔(網(wǎng)頁(yè))的API,document是它的一個(gè)對(duì)象BOM是為了操作瀏覽器的API眯娱,window是它的一個(gè)對(duì)象常用BOM對(duì)象還有:alert礁苗、定時(shí)器等
然后我們可以通過(guò)js操作來(lái)制作一個(gè)簡(jiǎn)單的網(wǎng)頁(yè)換膚
使用js代碼來(lái)操作style屬性
然后是用js代碼來(lái)操作class屬性
document.write和innerHTML的區(qū)別
document.write只能重繪整個(gè)頁(yè)面
innerHTML可以重繪頁(yè)面的一部分
經(jīng)過(guò)前面的學(xué)習(xí)我們可以將之前的換膚完善一下,比如點(diǎn)擊換膚徙缴。
變量的預(yù)解析:只把聲明提前试伙,賦值不提前
而函數(shù)的預(yù)解析把所有都提前
匿名函數(shù)
我們也可以給函數(shù)傳參,可以穿的參數(shù)是無(wú)限的于样,但是形參和實(shí)參數(shù)量必須一致疏叨。
return的做用,返回函數(shù)設(shè)定的值穿剖,同事結(jié)束函數(shù)的運(yùn)行
流程控制語(yǔ)句
流程控制語(yǔ)句
?JS中的程序是從上到下一行一行執(zhí)行的
?通過(guò)流程控制語(yǔ)句可以控制程序執(zhí)行流程蚤蔓,使程序可以根據(jù)一定的條件來(lái)選擇執(zhí)行
流程控制語(yǔ)句分為三種:
1.條件判斷語(yǔ)句:if...else
2.條件分支語(yǔ)句:switch...case
3.循環(huán)語(yǔ)句 :for while do...while
條件判斷語(yǔ)句
?使用條件判斷語(yǔ)句可以在執(zhí)行某個(gè)語(yǔ)句之前進(jìn)行判斷,如果條件成立才會(huì)執(zhí)行語(yǔ)句糊余,條件不成立則語(yǔ)句不執(zhí)行秀又。
?if語(yǔ)句
?語(yǔ)法一:
????if(條件表達(dá)式){
????????語(yǔ)句...
}
if語(yǔ)句在執(zhí)行時(shí),會(huì)先對(duì)條件表達(dá)式進(jìn)行求值判斷贬芥,如果條件表達(dá)式的值為true吐辙,則執(zhí)行if后的語(yǔ)句,如果條件表達(dá)式的值為false蘸劈,則不會(huì)執(zhí)行if后的語(yǔ)句昏苏。
if語(yǔ)句只能控制緊隨其后的那個(gè)語(yǔ)句,如果希望if語(yǔ)句可以控制多條語(yǔ)句,可以將這些語(yǔ)句統(tǒng)一放到代碼塊中if語(yǔ)句后的代碼塊(即{})不是必須的威沫,但是在開(kāi)發(fā)中盡量寫上代碼塊捷雕,即使if后只有一條語(yǔ)句
?語(yǔ)法二
if(條件表達(dá)式){
????語(yǔ)句...
·????????}else{
????????????語(yǔ)句...
}
if...else...語(yǔ)句
當(dāng)該語(yǔ)句執(zhí)行時(shí),會(huì)先對(duì)if后的條件表達(dá)式進(jìn)行求值判斷壹甥,如果該值為true,則執(zhí)行if后的語(yǔ)句如果該值為false壶熏,則執(zhí)行else后的語(yǔ)句
if語(yǔ)句語(yǔ)法三:
if(條件表達(dá)式){
????????語(yǔ)句...
? ? ? ?}else if(條件表達(dá)式){
????????語(yǔ)句...}else if(條件表達(dá)式){
????????語(yǔ)句...}else{
????????語(yǔ)句...
}
if...else if...else
當(dāng)該語(yǔ)句執(zhí)行時(shí)句柠,會(huì)從上到下依次對(duì)條件表達(dá)式進(jìn)行求值判斷如果值為true,則執(zhí)行當(dāng)前語(yǔ)句棒假。如果值為false溯职,則繼續(xù)向下判斷。如果所有的條件都不滿足帽哑,則執(zhí)行最后一個(gè)else后的語(yǔ)句該語(yǔ)句中谜酒,只會(huì)有一個(gè)代碼塊被執(zhí)行,一旦代碼塊執(zhí)行了妻枕,則直接結(jié)束語(yǔ)句僻族、
條件分支語(yǔ)句也叫switch語(yǔ)句? ?語(yǔ)法:
switch(條件表達(dá)式){
? ? ? ?case 表達(dá)式:
????????語(yǔ)句...
????????break;
????case 表達(dá)式:
????????語(yǔ)句...
????????break;
????????default:
????????????????語(yǔ)句...
????????????break;
}
執(zhí)行流程:switch...case..語(yǔ)句
在執(zhí)行時(shí)會(huì)依次將case后的表達(dá)式的值和switch后的條件表達(dá)式的值進(jìn)行全等比較粘驰,如果比較結(jié)果為true,則從當(dāng)前case處開(kāi)始執(zhí)行代碼述么。當(dāng)前case后的所有的代碼都會(huì)執(zhí)行蝌数,我們可以在case的后邊跟著一個(gè)break關(guān)鍵字,這樣可以確保只會(huì)執(zhí)行當(dāng)前case后的語(yǔ)句度秘,而不會(huì)執(zhí)行其他的case如果比較結(jié)果為false顶伞,則繼續(xù)向下比較如果所有的比較結(jié)果都為false,則只執(zhí)行default后的語(yǔ)句
switch語(yǔ)句和if語(yǔ)句的功能實(shí)際上有重復(fù)的剑梳,使用switch可以實(shí)現(xiàn)if的功能唆貌,同樣使用if也可以實(shí)現(xiàn)switch的功能,所以我們使用時(shí)垢乙,可以根據(jù)自己的習(xí)慣選擇晴埂。