JS (位運(yùn)算符)

位運(yùn)算符:

位運(yùn)算符只針對(duì)數(shù)字的二進(jìn)制形式進(jìn)行扇丛。

var v1 = 5; //這是10進(jìn)制滩褥,二進(jìn)制其實(shí)是:101,在計(jì)算機(jī)內(nèi)部其實(shí)類似這樣: 00000101

var v2 = 6晾捏; //這是10進(jìn)制谎懦,二進(jìn)制其實(shí)是:110,在計(jì)算機(jī)內(nèi)部其實(shí)類似這樣: 00000110

按位與:

符號(hào): &

含義:將兩個(gè)二進(jìn)制數(shù)字的對(duì)應(yīng)位上的數(shù)字進(jìn)行“與運(yùn)算”姨伤,結(jié)果還是這些位運(yùn)算的結(jié)果組成的二進(jìn)制數(shù)所代表的值。

解釋:二進(jìn)制數(shù)字進(jìn)行“與運(yùn)算”的規(guī)則是:

1 & 1 è 1

1 & 0 è 0

0 & 1 è 0

0 & 0 è 0

舉例:

var v1 = 5,? v2 = 6贩幻,運(yùn)算圖示為:

v1=5 0 0 0 0 0 1 0 1

v2=6 0 0 0 0 0 1 1 0

v1 & v2 0 0 0 0 0 1 0 0

var v3 = v1 & v2 = 00000100(2) = 4(10)

按位或:

符號(hào): |

含義:將兩個(gè)二進(jìn)制數(shù)字的對(duì)應(yīng)位上的數(shù)字進(jìn)行“或運(yùn)算”轿腺,結(jié)果是這些位運(yùn)算的結(jié)果組成的二進(jìn)制數(shù)所代表的值两嘴。

解釋:二進(jìn)制數(shù)字進(jìn)行“或運(yùn)算”的規(guī)則是:

1 | 1 è 1

1 | 0 è 1

0 | 1 è 1

0 | 0 è 0

按位非:

符號(hào): ~ //這是一個(gè)“單目運(yùn)算符”

含義:將一個(gè)二進(jìn)制數(shù)字的對(duì)應(yīng)位上的數(shù)字進(jìn)行“非運(yùn)算”,結(jié)果是這些二進(jìn)制數(shù)字所代表的值族壳。

解釋:二進(jìn)制數(shù)字進(jìn)行“非運(yùn)算”的規(guī)則是:

~1? è? 0

~0? è? 1

按位左移運(yùn)算:

符號(hào): <<

含義: 將一個(gè)二進(jìn)制數(shù)的每一個(gè)位上的數(shù)字往左邊移動(dòng)指定的位數(shù)憔辫,并且左邊“冒”出去的就不管了(不算了),右邊空出來(lái)的位上填入“0”仿荆,得到的結(jié)果就是該二進(jìn)制數(shù)字所代表的值贰您。

舉例:

var v1 = 5;var? v2 = 5 << 2; 運(yùn)算圖示為:

v1=5 0 0 0 0 0 1 0 1

v2= 5 << 2 0 0 0 1 0 1 0 0

var v2 = 5 << 2 = 00010100(2) = 1 * 24 + 1*22 = 16+4 = 20(10)

按位左移運(yùn)算:

符號(hào): >>

含義: 將一個(gè)二進(jìn)制數(shù)的每一個(gè)位上的數(shù)字往右邊移動(dòng)指定的位數(shù)赖歌,并且右邊“冒”出去的就不管了(不算了)枉圃,左邊空出來(lái)的位上填入原來(lái)的左邊的數(shù)字功茴,得到的結(jié)果就是該二進(jìn)制數(shù)字所代表的值庐冯。

舉例:

var v1 = 5;var? v2 = 5 >> 2; 運(yùn)算圖示為:

v1=5 0 0 0 0 0 1 0 1

v2= 5 >> 2 0 0 0 0 0 0 0 1

var v2 = 5 >> 2 = 00000001(2) = 1(10)

運(yùn)算符其他內(nèi)容:

賦值運(yùn)算符:其實(shí)就一個(gè)基本的賦值運(yùn)算符: = ,其含義是將等號(hào)右邊的數(shù)據(jù)放到等號(hào)左邊的變量中去坎穿。

錯(cuò)誤的語(yǔ)法:

var v1 = 1,? v2 = 2,? v3 = 5,? v4 = -2;

v1 + v2 = v3 + v4; //錯(cuò)展父,大錯(cuò),大錯(cuò)特錯(cuò)

復(fù)合賦值運(yùn)算符: +=? -=? *=? /=? %=

運(yùn)算符的優(yōu)先級(jí) —— 太多玲昧,較為復(fù)雜栖茉,記不住,但請(qǐng)記住一下幾條規(guī)則:

1孵延, 要心如明鏡:運(yùn)算符有優(yōu)先級(jí)(先后順序)問(wèn)題吕漂。

2, 括號(hào)最優(yōu)先尘应,等號(hào)(賦值)最落后惶凝。

3, 先乘除后加減

4犬钢, 想不清楚或用不明白的苍鲜,使用括號(hào)來(lái)解決

5, 括號(hào)只有小括號(hào)玷犹,可以一層層嵌套混滔。

舉例:

var? year = 2013;

//判斷閏年:一個(gè)年份能被4整除并且不能被100整除是閏年,或者能被400整除歹颓,也是閏年坯屿。

if (? ( (year? %? 4 == 0)? &&? (year % 100 != 0) )? ||? (year % 400 == 0)? )

{? documment.write(? year? + “是閏年”)? ;}

數(shù)據(jù)的傳值方式:

var v1 = 10;

var v2 = v1;? ? //將v1中值拷貝一份,放到v2這個(gè)變量中去了——此時(shí)也可以說(shuō)成“將v1的值傳遞給v2”

var v1 = v1 + v1;? ? //v1的值改變了巍扛,但并不影響v2——因?yàn)関2本身也是一個(gè)獨(dú)立的變量愿伴。document.write(“<br/>v1=" + v1);? ? ? ? //20

document.write("<br/>v2=" + v2);? ? ? ? //10

上述“v2 = v1”就稱為“拷貝傳值”——取得v1的值并拷貝一份,然后賦值給v2

拷貝傳值圖示如下:

圖片發(fā)自簡(jiǎn)書(shū)App

var v3 = {name:"小花", age:18, edu:"大學(xué)" };? ? //這是一個(gè)所謂“對(duì)象”類型——其中包括了3個(gè)數(shù)據(jù)电湘。

//操作其中的數(shù)據(jù)類似這樣:document.write("<br />v3這個(gè)對(duì)象的年齡為:" + v3.age);

v3.age = 19;? //v3這個(gè)對(duì)象的age這項(xiàng)數(shù)據(jù)的值重復(fù)賦了一個(gè)新值隔节,類似前面v1 = 20;

var v4 = v3;? ? //此時(shí)鹅经,是將v3這個(gè)變量的“內(nèi)存地址”傳遞給v4這個(gè)變量,而v3這個(gè)對(duì)象的數(shù)據(jù)本身其實(shí)只是由該地址來(lái)獲取怎诫●危——這就叫做引用傳值——此時(shí),其實(shí)這兩個(gè)變量是一樣的數(shù)據(jù)內(nèi)容幻妓,類似一個(gè)人的多個(gè)名字:真名蹦误,藝名,網(wǎng)名肉津,小名

document.write("<br />v4這個(gè)對(duì)象的年齡為:" + v4.age);

v3.age = 20;? //

document.write("<br />此時(shí)强胰,v4這個(gè)對(duì)象的年齡為:" + v4.age);

圖示:


注意: 基本(簡(jiǎn)單)數(shù)據(jù)類型的變量名和數(shù)據(jù)是直接存在“快速內(nèi)存”(棧內(nèi)存)中,而復(fù)合數(shù)據(jù)類型(對(duì)象和數(shù)組)的存儲(chǔ)分兩個(gè)部分:實(shí)際數(shù)據(jù)存在“慢速內(nèi)存”(堆內(nèi)存)中妹沙,棧內(nèi)存中只存變量名和數(shù)據(jù)在堆內(nèi)存中的位置(地址)偶洋。如圖所示:

圖片發(fā)自簡(jiǎn)書(shū)App

總結(jié):? ? ? ? 在js中,基本數(shù)據(jù)類型使用“拷貝傳值”——傳值的時(shí)候直接就出現(xiàn)了一份新的數(shù)據(jù)(當(dāng)然同時(shí)也是另一個(gè)變量所代表)

? ? ? 復(fù)合數(shù)據(jù)類型(數(shù)組和對(duì)象)使用“引用傳值”——傳值的時(shí)候只是做了一個(gè)地址指向距糖,數(shù)據(jù)仍然只有一份玄窝,兩個(gè)變量就指向這同一份數(shù)據(jù)。

if分支結(jié)構(gòu):

控制結(jié)構(gòu):就是使用一定的語(yǔ)法來(lái)控制我們程序執(zhí)行的流程——也可以叫“流程控制結(jié)構(gòu)”

分支就是“多條路徑悍引,走一條”恩脂。

最簡(jiǎn)形式:

//如果此條件滿足(即條件判斷的結(jié)果是true),則會(huì)執(zhí)行其中的語(yǔ)句塊趣斤,否則什么也不做俩块。

if(? 條件判斷語(yǔ)句? )

{

//要執(zhí)行的語(yǔ)句塊——語(yǔ)句塊其實(shí)就是一種表示“n條語(yǔ)句”泛泛說(shuō)法。

}

二選一分支形式:含義是兩條路浓领,必走一條玉凯。

if(? 條件判斷語(yǔ)句? )

{

//要執(zhí)行的語(yǔ)句塊1——前面條件成立時(shí)執(zhí)行

}

else

{

//要執(zhí)行的語(yǔ)句塊2——前面條件不成立時(shí)執(zhí)行

}

多選一分支結(jié)構(gòu):多條路根據(jù)條件的滿足情況走其中一條,但也可能一條都不走:

if(? 條件判斷1 ) //如果此條件滿足镊逝,則執(zhí)行語(yǔ)句塊1壮啊,然后if就結(jié)束了

{

//語(yǔ)句塊1

}

else? if ( 條件判斷2? ) //如果條件1不滿足,則判斷條件2:如果滿足撑蒜,則執(zhí)行語(yǔ)句塊2歹啼,并結(jié)束if

{

//語(yǔ)句塊2

}

else? if ( 條件判斷3? ) //如果條件2不滿足,則判斷條件3:如果滿足座菠,則執(zhí)行語(yǔ)句塊3狸眼,并結(jié)束if

{

//語(yǔ)句塊3

}

…………………… //依此類推。浴滴。拓萌。。升略。微王。如果沒(méi)有一個(gè)條件滿足屡限,則其實(shí)到最后什么也不會(huì)執(zhí)行,if結(jié)束炕倘。

綜合型式:

if(? 條件判斷1 ) //如果此條件滿足钧大,則執(zhí)行語(yǔ)句塊1,然后if就結(jié)束了

{

//語(yǔ)句塊1

}

else? if ( 條件判斷2? ) //如果條件1不滿足罩旋,則判斷條件2:如果滿足啊央,則執(zhí)行語(yǔ)句塊2,并結(jié)束if

{

//語(yǔ)句塊2

}

else? if ( 條件判斷3? ) //如果條件2不滿足涨醋,則判斷條件3:如果滿足瓜饥,則執(zhí)行語(yǔ)句塊3,并結(jié)束if

{

//語(yǔ)句塊3

}

…………….? //依此類推浴骂。乓土。。靠闭。帐我。坎炼。

else

{

//最后的else語(yǔ)句塊愧膀。 //此語(yǔ)句塊會(huì)在前面條件都不滿足的時(shí)候去執(zhí)行。

}

注意:綜合型式中是必有一條分支(語(yǔ)句塊)會(huì)得到執(zhí)行谣光。

switch分支結(jié)構(gòu):

switch的分支結(jié)構(gòu)整體含義跟if類似檩淋,也是表示“多條路走一條”,其使用形式:

switch (? 一個(gè)變量或表達(dá)式? ) //不管是變量還是表達(dá)式萄金,最終都代表一個(gè)“值”蟀悦,我們用v1來(lái)說(shuō)話

{

case? 固定值1: //如果v1等于本值1,則會(huì)執(zhí)行語(yǔ)句塊1

//語(yǔ)句塊1氧敢;

break日戈; //退出此switch結(jié)構(gòu)

case? 固定值2: 如果v1不等于前面值1,則繼續(xù)判斷是否等于這里的值2孙乖,如果相等浙炼,執(zhí)行語(yǔ)句2

//語(yǔ)句塊2;

break唯袄; //退出此switch結(jié)構(gòu)

case? ………………………………

弯屈。。恋拷。资厉。。蔬顾。宴偿。湘捎。。窄刘。消痛。。都哭。秩伞。。欺矫。纱新。

default: //如果前面各個(gè)判斷都不成立(也就是不相等),則會(huì)執(zhí)行此語(yǔ)句塊穆趴。

//注意:switch中此default語(yǔ)句塊可以沒(méi)有脸爱。

//默認(rèn)語(yǔ)句塊

}

特別注意:if語(yǔ)句其實(shí)是可以使用非常靈活的條件判斷,比如? >? >=? <? <=? ==? !=? ===? 未妹,但簿废,switch這里case的判斷,只能有一種判斷:相等判斷络它。

while循環(huán)結(jié)構(gòu):

循環(huán)的基本觀念:

1族檬, 循環(huán)就是讓某些程序(語(yǔ)句塊)反復(fù)執(zhí)行

2, 循環(huán)必須能夠有辦法停止——計(jì)算機(jī)沒(méi)有自己的判斷能力去決定“累了化戳,不做了”

while循環(huán)的基本語(yǔ)法形式:

while? (? 條件判斷? ) //如果條件判斷滿足了单料,則會(huì)執(zhí)行其中的語(yǔ)句塊,否則while結(jié)束点楼。

{

//要執(zhí)行的語(yǔ)句塊

} //如果此語(yǔ)句塊執(zhí)行完了扫尖,會(huì)立即回到前面while的位置繼續(xù)判斷。

上述形式只是語(yǔ)法上的基本要求掠廓,但换怖,在“實(shí)用”中,通常會(huì)需要遵照如下模式:

【循環(huán)變量初始化】

while? (? 【循環(huán)變量作為條件判斷】 )

{

//循環(huán)體蟀瞧,就是要反復(fù)執(zhí)行的語(yǔ)句塊

【循環(huán)變量值的改變】

}

do while循環(huán)結(jié)構(gòu):

do while循環(huán)是一種會(huì)先執(zhí)行一次沉颂,然后再根據(jù)判斷條件來(lái)決定是否繼續(xù)執(zhí)行并循環(huán)的一種循環(huán)結(jié)構(gòu)。

do while的實(shí)用形式如下:

【循環(huán)變量初始化】

do

{

//循環(huán)體黄橘,就是要反復(fù)執(zhí)行的語(yǔ)句塊

【循環(huán)變量值的改變】

} while? (? 【循環(huán)變量作為條件判斷】 ) ;

描述: 先執(zhí)行do后面打括號(hào)中的語(yǔ)句塊兆览,然后再進(jìn)行while語(yǔ)句中的條件判斷,如果判斷成立(true)塞关,則繼續(xù)回到上面do后面的大括號(hào)中執(zhí)行語(yǔ)句塊抬探,否則就結(jié)束。

for循環(huán)結(jié)構(gòu)——推薦使用:

for循環(huán)基本形式:

for(? 【循環(huán)變量初始化A】; 【循環(huán)變量作為條件判斷B】小压; 【循環(huán)變量值的改變C】? )

{

//循環(huán)體D线梗,也就是要反復(fù)執(zhí)行的語(yǔ)句塊

}

for循環(huán)的執(zhí)行邏輯(順序):

A? è? Bètrue? è D? è? C? è Bètrue? è D? è C? è Bè

? ┗èfalseèfor循環(huán)結(jié)束 ┗èfalseèfor循環(huán)結(jié)束

var a = new Date(); //new Date() 就是指“系統(tǒng)時(shí)間”,該時(shí)間其實(shí)就是一個(gè)“復(fù)合數(shù)據(jù)”怠益,其中包括了時(shí)間(日期)中的各項(xiàng)值仪搔,比如年份數(shù),月份數(shù)蜻牢,時(shí)分秒烤咧,星期等等。其中每個(gè)數(shù)據(jù)都是一個(gè)“數(shù)字”而已抢呆。

var week = a.getDay(); //獲取今天系統(tǒng)時(shí)間對(duì)應(yīng)的星期煮嫌,這里獲取的星期只是一個(gè)0到6的數(shù)而已。0代表禮拜天抱虐,1代表禮拜一昌阿。

昨日回顧

位運(yùn)算符:指對(duì)二進(jìn)制數(shù)字進(jìn)行的運(yùn)算

按位左移:將所有數(shù)位往左邊移動(dòng)指定的位數(shù),左邊冒出去的不管恳邀,右邊補(bǔ)0

按位右移:將所有數(shù)位往右邊移動(dòng)指定的位數(shù)懦冰,右邊冒出去的不管,左邊補(bǔ)原來(lái)左邊的數(shù)字(0或1)

按位與:將兩個(gè)二進(jìn)制數(shù)字的對(duì)應(yīng)位進(jìn)行二進(jìn)制數(shù)的“相與”(只有兩個(gè)是1才是1)

按位或:將兩個(gè)二進(jìn)制數(shù)字的對(duì)應(yīng)位進(jìn)行二進(jìn)制數(shù)的“相或”(只有兩個(gè)是0才是0)

按位非:將一個(gè)二進(jìn)制數(shù)字的每一位“取反”所得結(jié)果谣沸。

傳值方式:指將一個(gè)變量(A)的值傳給另一個(gè)變量(B)的時(shí)候的不同機(jī)制問(wèn)題

拷貝傳值:將變量A的值做一份“拷貝”刷钢,并賦值給另一個(gè)變量B——B和A此時(shí)是兩個(gè)相互獨(dú)立的變量,但此時(shí)的值相同(相等)——js中鳄抒,基本數(shù)據(jù)類型使用拷貝傳值闯捎。

引用傳值:將變量A的實(shí)際數(shù)據(jù)的“地址”拷貝給變量B(并沒(méi)有拷貝數(shù)據(jù))——B和A是兩個(gè)有關(guān)系的變量椰弊,即他們實(shí)際上就是指“一份數(shù)據(jù)”许溅,類似“同樣的內(nèi)容不同的名字”——在js中,復(fù)合數(shù)據(jù)類型使用引用傳值秉版。

流程控制之 if? 分支結(jié)構(gòu)

if( 條件判斷1 )

{

//語(yǔ)句塊1

}

else? if( 條件判斷2 )

{

//語(yǔ)句塊2

}

else? if( 條件判斷3 )

{

//語(yǔ)句塊3

}

贤重。。清焕。并蝗。。秸妥。滚停。。粥惧。键畴。。。

else

{

//else語(yǔ)句塊

}

流程控制之 switch 分支結(jié)構(gòu)

switch (? 一個(gè)變量或表達(dá)式? ) //這里最終都應(yīng)該是一個(gè)“值”

{

case? 值1:

語(yǔ)句塊1

break;

case? 值2:

語(yǔ)句塊2

break起惕;

涡贱。。惹想。问词。。嘀粱。激挪。。锋叨。灌灾。。悲柱。锋喜。。豌鸡。嘿般。。涯冠。

default:

默認(rèn)語(yǔ)句塊

}

流程控制之 while 循環(huán)結(jié)構(gòu)

循環(huán)變量的初始化

while? (? 循環(huán)變量判斷 )

{

//語(yǔ)句塊

循環(huán)變量的改變

}

流程控制之 do while 循環(huán)結(jié)構(gòu)

循環(huán)變量的初始化

do

{

//語(yǔ)句塊

循環(huán)變量的改變

}

while (? 循環(huán)變量判斷 );

流程控制之 for 循環(huán)結(jié)構(gòu)

for(? 循環(huán)變量的初始化炉奴;循環(huán)變量判斷;循環(huán)變量的改變 )

{

//語(yǔ)句塊

}

昨日回顧

位運(yùn)算符:指對(duì)二進(jìn)制數(shù)字進(jìn)行的運(yùn)算

按位左移:將所有數(shù)位往左邊移動(dòng)指定的位數(shù)蛇更,左邊冒出去的不管瞻赶,右邊補(bǔ)0

按位右移:將所有數(shù)位往右邊移動(dòng)指定的位數(shù),右邊冒出去的不管派任,左邊補(bǔ)原來(lái)左邊的數(shù)字(0或1)

按位與:將兩個(gè)二進(jìn)制數(shù)字的對(duì)應(yīng)位進(jìn)行二進(jìn)制數(shù)的“相與”(只有兩個(gè)是1才是1)

按位或:將兩個(gè)二進(jìn)制數(shù)字的對(duì)應(yīng)位進(jìn)行二進(jìn)制數(shù)的“相或”(只有兩個(gè)是0才是0)

按位非:將一個(gè)二進(jìn)制數(shù)字的每一位“取反”所得結(jié)果砸逊。

傳值方式:指將一個(gè)變量(A)的值傳給另一個(gè)變量(B)的時(shí)候的不同機(jī)制問(wèn)題

拷貝傳值:將變量A的值做一份“拷貝”,并賦值給另一個(gè)變量B——B和A此時(shí)是兩個(gè)相互獨(dú)立的變量掌逛,但此時(shí)的值相同(相等)——js中师逸,基本數(shù)據(jù)類型使用拷貝傳值。

引用傳值:將變量A的實(shí)際數(shù)據(jù)的“地址”拷貝給變量B(并沒(méi)有拷貝數(shù)據(jù))——B和A是兩個(gè)有關(guān)系的變量豆混,即他們實(shí)際上就是指“一份數(shù)據(jù)”篓像,類似“同樣的內(nèi)容不同的名字”——在js中,復(fù)合數(shù)據(jù)類型使用引用傳值皿伺。

流程控制之 if? 分支結(jié)構(gòu)

if( 條件判斷1 )

{

//語(yǔ)句塊1

}

else? if( 條件判斷2 )

{

//語(yǔ)句塊2

}

else? if( 條件判斷3 )

{

//語(yǔ)句塊3

}

员辩。。鸵鸥。奠滑。。。养叛。种呐。。弃甥。爽室。。

else

{

//else語(yǔ)句塊

}

流程控制之 switch 分支結(jié)構(gòu)

switch (? 一個(gè)變量或表達(dá)式? ) //這里最終都應(yīng)該是一個(gè)“值”

{

case? 值1:

語(yǔ)句塊1

break;

case? 值2:

語(yǔ)句塊2

break淆攻;

阔墩。。瓶珊。啸箫。。伞芹。忘苛。。唱较。扎唾。。南缓。胸遇。。汉形。纸镊。。概疆。

default:

默認(rèn)語(yǔ)句塊

}

流程控制之 while 循環(huán)結(jié)構(gòu)

循環(huán)變量的初始化

while? (? 循環(huán)變量判斷 )

{

//語(yǔ)句塊

循環(huán)變量的改變

}

流程控制之 do while 循環(huán)結(jié)構(gòu)

循環(huán)變量的初始化

do

{

//語(yǔ)句塊

循環(huán)變量的改變

}

while (? 循環(huán)變量判斷 );

流程控制之 for 循環(huán)結(jié)構(gòu)

for(? 循環(huán)變量的初始化逗威;循環(huán)變量判斷;循環(huán)變量的改變 )

{

//語(yǔ)句塊

}

昨日回顧

位運(yùn)算符:指對(duì)二進(jìn)制數(shù)字進(jìn)行的運(yùn)算

按位左移:將所有數(shù)位往左邊移動(dòng)指定的位數(shù)届案,左邊冒出去的不管庵楷,右邊補(bǔ)0

按位右移:將所有數(shù)位往右邊移動(dòng)指定的位數(shù),右邊冒出去的不管楣颠,左邊補(bǔ)原來(lái)左邊的數(shù)字(0或1)

按位與:將兩個(gè)二進(jìn)制數(shù)字的對(duì)應(yīng)位進(jìn)行二進(jìn)制數(shù)的“相與”(只有兩個(gè)是1才是1)

按位或:將兩個(gè)二進(jìn)制數(shù)字的對(duì)應(yīng)位進(jìn)行二進(jìn)制數(shù)的“相或”(只有兩個(gè)是0才是0)

按位非:將一個(gè)二進(jìn)制數(shù)字的每一位“取反”所得結(jié)果。

傳值方式:指將一個(gè)變量(A)的值傳給另一個(gè)變量(B)的時(shí)候的不同機(jī)制問(wèn)題

拷貝傳值:將變量A的值做一份“拷貝”咐蚯,并賦值給另一個(gè)變量B——B和A此時(shí)是兩個(gè)相互獨(dú)立的變量童漩,但此時(shí)的值相同(相等)——js中,基本數(shù)據(jù)類型使用拷貝傳值春锋。

引用傳值:將變量A的實(shí)際數(shù)據(jù)的“地址”拷貝給變量B(并沒(méi)有拷貝數(shù)據(jù))——B和A是兩個(gè)有關(guān)系的變量矫膨,即他們實(shí)際上就是指“一份數(shù)據(jù)”,類似“同樣的內(nèi)容不同的名字”——在js中,復(fù)合數(shù)據(jù)類型使用引用傳值侧馅。

流程控制之 if? 分支結(jié)構(gòu)

if( 條件判斷1 )

{

//語(yǔ)句塊1

}

else? if( 條件判斷2 )

{

//語(yǔ)句塊2

}

else? if( 條件判斷3 )

{

//語(yǔ)句塊3

}

危尿。。馁痴。谊娇。。罗晕。济欢。。小渊。法褥。。酬屉。

else

{

//else語(yǔ)句塊

}

流程控制之 switch 分支結(jié)構(gòu)

switch (? 一個(gè)變量或表達(dá)式? ) //這里最終都應(yīng)該是一個(gè)“值”

{

case? 值1:

語(yǔ)句塊1

break;

case? 值2:

語(yǔ)句塊2

break半等;

。呐萨。酱鸭。。垛吗。凹髓。。怯屉。蔚舀。。锨络。赌躺。。羡儿。礼患。。掠归。缅叠。

default:

默認(rèn)語(yǔ)句塊

}

流程控制之 while 循環(huán)結(jié)構(gòu)

循環(huán)變量的初始化

while? (? 循環(huán)變量判斷 )

{

//語(yǔ)句塊

循環(huán)變量的改變

}

流程控制之 do while 循環(huán)結(jié)構(gòu)

循環(huán)變量的初始化

do

{

//語(yǔ)句塊

循環(huán)變量的改變

}

while (? 循環(huán)變量判斷 );

流程控制之 for 循環(huán)結(jié)構(gòu)

for(? 循環(huán)變量的初始化;循環(huán)變量判斷虏冻;循環(huán)變量的改變 )

{

//語(yǔ)句塊

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末肤粱,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子厨相,更是在濱河造成了極大的恐慌领曼,老刑警劉巖鸥鹉,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異庶骄,居然都是意外死亡毁渗,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門单刁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)灸异,“玉大人,你說(shuō)我怎么就攤上這事幻碱∫锵粒” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵褥傍,是天一觀的道長(zhǎng)儡嘶。 經(jīng)常有香客問(wèn)我,道長(zhǎng)恍风,這世上最難降的妖魔是什么蹦狂? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮朋贬,結(jié)果婚禮上凯楔,老公的妹妹穿的比我還像新娘。我一直安慰自己锦募,他們只是感情好摆屯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著糠亩,像睡著了一般虐骑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赎线,一...
    開(kāi)封第一講書(shū)人閱讀 51,155評(píng)論 1 299
  • 那天廷没,我揣著相機(jī)與錄音,去河邊找鬼垂寥。 笑死颠黎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的滞项。 我是一名探鬼主播狭归,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蓖扑!你這毒婦竟也來(lái)了唉铜?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤律杠,失蹤者是張志新(化名)和其女友劉穎潭流,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體柜去,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡灰嫉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嗓奢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片讼撒。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖股耽,靈堂內(nèi)的尸體忽然破棺而出根盒,到底是詐尸還是另有隱情,我是刑警寧澤物蝙,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布炎滞,位于F島的核電站,受9級(jí)特大地震影響诬乞,放射性物質(zhì)發(fā)生泄漏册赛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一震嫉、第九天 我趴在偏房一處隱蔽的房頂上張望森瘪。 院中可真熱鬧,春花似錦票堵、人聲如沸扼睬。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)窗宇。三九已至,卻和暖如春瞳浦,著一層夾襖步出監(jiān)牢的瞬間担映,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工叫潦, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蝇完,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓矗蕊,卻偏偏與公主長(zhǎng)得像短蜕,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子傻咖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353