在 break,continue和return 三個(gè)關(guān)鍵字中迂卢, break,continue是一起的,return 是函數(shù)返回語句,但是返回的同時(shí)也將函數(shù)停止
首先:break和continue兩個(gè)一起討論
這兩個(gè)應(yīng)用的范圍是退出循環(huán)或者switch語句冷守,在其他地方使用會導(dǎo)致錯(cuò)誤刀崖;
break:由于它是用來退出循環(huán)或者switch語句,所以只有當(dāng)它出現(xiàn)在這些語句時(shí)拍摇,這種形式的break語句才是合法的亮钦。
舉例:
for(var i=1;i<=10;i++)
{
if(i==6)
{
break;
}
document.write(i);
}
//輸出結(jié)果:12345
當(dāng)i=6的時(shí)候,直接退出for這個(gè)循環(huán)充活。這個(gè)循環(huán)將不再被執(zhí)行蜂莉!
continue:和break語句相似。所不同的是混卵,它不是退出一個(gè)循環(huán)映穗,而是開始循環(huán)的一次新迭代。continue語句只能用在while語句幕随、do/while語句蚁滋、for語句、或者for/in語句的循環(huán)體內(nèi)赘淮,在其它地方使用都會引起錯(cuò)誤辕录!
舉例:
for(var i=1;i<=10;i++)
{
if(i==6) continue;
document.write(i);
}
//輸出結(jié)果:1234578910
當(dāng)i=6的時(shí)候,直接跳出本次for循環(huán)梢卸。下次繼續(xù)執(zhí)行走诞。
第三個(gè)return語句:
return語句就是用于指定函數(shù)返回的值。
return語句應(yīng)用范圍只能出現(xiàn)在函數(shù)體內(nèi)蛤高,出現(xiàn)在代碼中的其他任何地方都會造成語法錯(cuò)誤蚣旱!
一、返回控制與函數(shù)結(jié)果戴陡,
語法為:return 表達(dá)式; 語句結(jié)束函數(shù)執(zhí)行塞绿,返回調(diào)用函數(shù),而且把表達(dá)式的值作為函數(shù)的結(jié)果
二猜欺、返回控制位隶,
無函數(shù)結(jié)果,語法為:return;
在大多數(shù)情況下,為事件處理函數(shù)返回false,可以防止默認(rèn)的事件行為.例如,默認(rèn)情況下點(diǎn)擊一個(gè)<a>元素,頁面會跳轉(zhuǎn)到該元素href屬性指定的頁.
Return False 就相當(dāng)于終止符开皿,Return True 就相當(dāng)于執(zhí)行符。
在js中return false的作用一般是用來取消默認(rèn)動(dòng)作的篮昧。比如你單擊一個(gè)鏈接除了觸發(fā)你的
onclick時(shí)間(如果你指定的話)以外還要觸發(fā)一個(gè)默認(rèn)事件就是執(zhí)行頁面的跳轉(zhuǎn)赋荆。所以如果
你想取消對象的默認(rèn)動(dòng)作就可以return false。
首先在js中懊昨,我們常用return false來阻止提交表單或者繼續(xù)執(zhí)行下面的代碼窄潭,通俗的來說就是阻止執(zhí)行默認(rèn)的行為。
function a(){
if(True)
return false;
}
這是沒有任何問題的酵颁。
如果我改成這種
function Test(){
a();
b();
c();
}
···
即使a函數(shù)返回return false 阻止提交了嫉你,但是不影響 b()以及 c()函數(shù)的執(zhí)行月帝。在Test()函數(shù)里調(diào)用a()函數(shù),那面里面
return false 對于Test()函數(shù)來說幽污,只是相當(dāng)于返回值嚷辅。而不能阻止Test()函數(shù)執(zhí)行。
總之:return false 只在當(dāng)前函數(shù)有效距误,不會影響其他外部函數(shù)的執(zhí)行簸搞。
總結(jié)
retrun true; 返回正確的處理結(jié)果准潭。
return false趁俊;分會錯(cuò)誤的處理結(jié)果,終止處理刑然。
return寺擂;把控制權(quán)返回給頁面。