今天給大家分享:return的用法是什么?若用在for循環(huán)中吹零,還會執(zhí)行下一次循環(huán)嗎罩抗?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 分享人:聶義中
目錄
1.背景介紹
2.知識剖析
3.常見問題
4.解決方案
5.編碼實戰(zhàn)
6.擴展思考
7.參考文獻
8.更多討論
1.背景介紹
什么是return?
return是javascript里函數(shù)返回值的關(guān)鍵字,一個函數(shù)內(nèi)處理的結(jié)果可以使用return返回灿椅,這樣在調(diào)用函數(shù)的地方就可以用變量接收返回結(jié)果套蒂。return關(guān)鍵字內(nèi)任何類型的變量數(shù)據(jù)或表達式都可以進行返回,甚至什么都不返回也可以
2.知識剖析
return語句的用法
1返回函數(shù)值,語句結(jié)束函數(shù)執(zhí)行
語法為:returnexpression
functionaa(){
return1//返回數(shù)字alert(1);
};
aa();
functionbb(){
return"asdf"http://返回字符串}
bb();
functioncc(){
returnfunction(){//返回函數(shù)vara=1;
}
alert(1);
}
cc();
2利用return阻止執(zhí)行某些默認的行為茫蛹。
JAVASCRIPT在事件中調(diào)用函數(shù)時用return返回值實際上是對window.event.returnvalue進行設置操刀。而該值決定了當前操作是否繼續(xù)。當返回的是true時婴洼,將繼續(xù)操作骨坑。當返回是false時,將中斷操作柬采。而直接執(zhí)行時(不用return)欢唾。將不會對window.event.returnvalue進行設置所以會默認地繼續(xù)執(zhí)行操作
如果函數(shù)add_onclick()返回true,那么頁面就會打開abc.htm
否則,(返回false),那么頁面不會跳轉(zhuǎn)到abc.htm,只會執(zhí)行你的add_onclick()
函數(shù)里的內(nèi)容.(add_onclick函數(shù)中控制頁面轉(zhuǎn)到abc.htm除外)
不管add_onclick()返回什么值,都會在執(zhí)行完add_onclick后打開頁面abc.htm
我們常用returnfalse來阻止提交表單或者繼續(xù)執(zhí)行下面的代碼
如果函數(shù)add_onclick()返回true,那么頁面就會打開abc.htm
否則,(返回false),那么頁面不會跳轉(zhuǎn)到abc.htm,只會執(zhí)行你的add_onclick()
函數(shù)里的內(nèi)容.(add_onclick函數(shù)中控制頁面轉(zhuǎn)到abc.htm除外)
Open
不管add_onclick()返回什么值,都會在執(zhí)行完add_onclick后打開頁面abc.htm
onclick事件時就相當于onclick="returntrue/false"例:functioncheck()
{
if(obj.value=="")
{
window.alert("不能為空!");
obj.focus();
returnfalse;
}
returntrue;
}
調(diào)用方法返回true時才提交表單粉捻,反之則不提交礁遣,這是submit按鈕returnfalse只在當前函數(shù)有效,不會影響其他外部函數(shù)的執(zhí)行肩刃。
return回調(diào)函數(shù)
onclick事件時就相當于onclick="returntrue/false"例:functioncheck()
{
if(obj.value=="")
{
window.alert("不能為空祟霍!");
obj.focus();
returnfalse;
}
returntrue;
}
利用回調(diào)函數(shù)來產(chǎn)生循環(huán)效果。
var? ?i=0;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//定義循環(huán)變量functionfunc1(){
i++;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//改變循環(huán)變量if(i<5)
{? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //小括號為循環(huán)條件
document.write(i+'');? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //這里是循環(huán)體returnfunc1();
}
}
func1();//調(diào)用函數(shù)之所以可以實現(xiàn)循環(huán)盈包,是因為這里利用了return的回調(diào)函數(shù)沸呐,使得函數(shù)返回的是自己。
3.常見問題
若return用在for循環(huán)中续语,還會執(zhí)行下一次循環(huán)嗎垂谢?
代碼示例:
functiondd(){
vargroup=[];
for(vari=0;i<4;i++){
return5;
group.push(i);
}
returngroup;
}
dd();
我們可以看到,for循環(huán)只返回return所返回的值疮茄,并不會執(zhí)行下一次循環(huán),而是起到跳出循環(huán)的作用
4解決方案
5.編碼實戰(zhàn)
6.擴展思考
除了return滥朱,還有什么方法可以讓循環(huán)被打斷?
break方法
for(vari=0;i<=10;i++){
console.log(i);
if(i==5){break;}
}
上面這個break實例力试,輸出的結(jié)果為:12345徙邻,當i的值等于5的時候直接通過break跳出了循環(huán),不再繼續(xù)往下運行畸裳。
continue方法
continue語句和break語句相似缰犁。所不同的是,它不是退出一個循環(huán),而是開始循環(huán)的一次新迭代帅容。for(vari=0;i<=10;i++){
if(i==5){continue;}
console.log(i);
}
7.參考文獻
參考1:對js中return用法的詳細介紹
參考2:js中return的用法
8更多討論
1 continue break return有什么區(qū)別颇象?
break語句會使運行的程序立刻退出包含在最內(nèi)層的循環(huán)或者退出一個switch語句。
continue語句和break語句相似并徘。所不同的是遣钳,它不是退出一個循環(huán),而是開始循環(huán)的一次新迭代麦乞。
return語句就是用于指定函數(shù)返回的值蕴茴。return語句只能出現(xiàn)在函數(shù)體內(nèi),出現(xiàn)在代碼中的其他任何地方都會造成語法錯誤姐直!
鳴謝
感謝大家觀看
by聶義中
今天的分享就到這里啦倦淀,歡迎大家點贊、轉(zhuǎn)發(fā)声畏、留言撞叽、拍磚~