大家好侵佃,我是IT修真院成都分院第四期的學員麻昼。
今天給大家分享一下,修真院官網(wǎng)web前端工程師Js任務4馋辈,深度思考中的知識點——“return的用法是什么抚芦?若用在for循環(huán)中,還會執(zhí)行下一次循環(huán)嗎”首有?
? ? ?目錄
1.背景介紹
2.知識剖析
3.常見問題
4.解決方案
5.編碼實戰(zhàn)
6.擴展思考
7.參考文獻
8.更多討論
1.背景介紹
return顧名思義燕垃,英文翻譯含義就是回轉,返回井联。
在javaScript函數(shù)中卜壕,return表示被調函數(shù)返回到主調函數(shù)或者說上一級繼續(xù)執(zhí)行,返回時可附帶一個返回值烙常,這個值將作為函數(shù)的結果轴捎。
return通常是必要的,因為函數(shù)調用的時候計算結果通常是通過返回值帶出的蚕脏。 如果函數(shù)執(zhí)行不需要返回計算結果侦副,也經(jīng)常需要返回一個狀態(tài)碼來表示函數(shù)執(zhí)行的順利與否, 主調函數(shù)可以通過返回值判斷被調函數(shù)的執(zhí)行情況驼鞭。
2.知識剖析
關于return的返回值
返回值通常是變量秦驯、表達式、對象挣棕、布爾值等等译隘,也可以不設返回值亲桥。通常有四種情況:
retrun true; 返回正確的處理結果固耘。
return false题篷;分會錯誤的處理結果,終止處理厅目。
return番枚;把控制權返回給上級。
retrun 變量损敷、表達式葫笼、對象; ?將返回值作為函數(shù)結果,并返回上一級
function a(){
return 10;//這個時候嗤锉,函數(shù)a的值會等于10渔欢,并且函數(shù)中下面的內容不再執(zhí)行
document.write(50);//由于上面已經(jīng)return了墓塌,這條代碼不會執(zhí)行
}
function? a( b, c ) {
return b ?+ c;
}
//那么調用:
var abc = a(5, 80); ? ?//這個時候瘟忱,abc這個變量的值會是85
function a( b, c ) { ? //那么頁面會輸出85,但abc是沒有值的;
document.write( b + c );
}
return ?true/false :同意或阻止默認行為
如果想要取消默認的事件行為苫幢,可以使用return false访诱;
<a onclick=" return fun()">demo1</a>
<script type="text/javascript">
function fun(){
location.;
return false;
}
</script>
以上 當return false 時,<a>標簽會跳轉頁面至新浪韩肝,當return true時触菜,會執(zhí)行跳轉至百度頁面。
3.常見問題
若用在for循環(huán)中用到了return哀峻,還會執(zhí)行下一次循環(huán)嗎涡相?
4.解決方案
functioncounter() {
for(varcount=1;count<10;count++) {
document.write("? "+count+"Animal"+"? ");// until 5
if(count===5) {
return;
}
document.write("? "+count+"Boy"+"? ");// until 4 (因為在5的時候,就已經(jīng)return了)
}
document.write(count+"Cat");// never appears (因為這個c寫在了for循環(huán)的外面)
}
counter();
5.編碼實戰(zhàn)
6.擴展思考
除了return剩蟀,還有沒有別的方式中斷for循環(huán)催蝗?
break和continue也是可以中斷for循環(huán)的
break
break語句會使運行的程序立刻退出包含在最內層的循環(huán)或者退出一個switch語句。 由于它是用來退出循環(huán)或者switch語句育特,所以只有當它出現(xiàn)在這些語句時丙号,這種形式的break語句才是合法的。 如果一個循環(huán)的終止條件非常復雜缰冤,那么使用break語句來實現(xiàn)某些條件比用一個循環(huán)表達式來表達所有的條件容易得多犬缨。
functioncounter() {
for(varcount=1;count<10;count++) {
document.write("? "+count+"Animal"+"? ");// until 5
if(count===5) {
break;
}
document.write("? "+count+"Boy"+"? ");// until 4 (因為在5的時候,就已經(jīng)return了)
}
document.write(count+"Cat");// never appears (因為這個c寫在了for循環(huán)的外面)
}
counter();
continue
continue語句和break語句相似棉浸。所不同的是怀薛,它不是退出一個循環(huán),而是開始循環(huán)的一次新迭代迷郑。 continue語句只能用在while語句枝恋、do/while語句迂苛、for語句、或者for/in語句的循環(huán)體內鼓择,在其它地方使用都會引起錯誤三幻!
functioncounter() {
for(varcount=1;count<10;count++) {
document.write("? "+count+"Animal"+"? ");// until 5
if(count===5) {
continue;
}
document.write("? "+count+"Boy"+"? ");// until 4 (因為在5的時候,就已經(jīng)return了)
}
document.write(count+"Cat");// never appears (因為這個c寫在了for循環(huán)的外面)
}
counter();
迭代
迭代是重復反饋過程的活動呐能,其目的通常是為了逼近所需目標或結果念搬。 每一次對過程的重復稱為一次“迭代”,而每一次迭代得到的結果會作為下一次迭代的初始值
Js中的迭代語句又叫循環(huán)語句摆出,聲明一組要反復執(zhí)行的命令朗徊,直到滿足某些條件為止。
ECMAScript 中提供了4種迭代語句:
do-while 語句
while 語句
for-in 語句
for 語句
7.參考文獻
參考1: ?ECMAScript break 和 continue 語句
參考2: ?js中return偎漫;爷恳、return true、return false;區(qū)別
8.更多討論
PPT地址:
https://ptteng.github.io/PPT/PPT/js-4-return.html#/
視頻地址:
文本地址:
http://www.jnshu.com/daily/23884
------------------------------------------------------------------------------------------------------------------------
技能樹.IT修真院
“我們相信人人都可以成為一個工程師,現(xiàn)在開始杯矩,找個師兄栈虚,帶你入門,掌控自己學習的節(jié)奏史隆,學習的路上不再迷没晡瘢”。
這里是技能樹.IT修真院泌射,成千上萬的師兄在這里找到了自己的學習路線粘姜,學習透明化,成長可見化熔酷,師兄1對1免費指導孤紧。快來與我一起學習吧 纯陨!http://www.jnshu.com/login/1/96029204