在javascript中,return的含義是“返回”,可以中止當(dāng)前函數(shù)的執(zhí)行并返回當(dāng)前函數(shù)的值。函數(shù)一旦執(zhí)行完return語(yǔ)句,將會(huì)立即返回函數(shù)值,并中止函數(shù)的執(zhí)行,此時(shí)return語(yǔ)句后的代碼都不會(huì)被執(zhí)行。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
return,從字面意思來看就是返回,官方定義return語(yǔ)句將終止當(dāng)前函數(shù)并返回當(dāng)前函數(shù)的值。
JavaScript return 語(yǔ)句在函數(shù)定義中的作用有兩個(gè):
-
一是返回函數(shù)值;
-
二是中止函數(shù)的執(zhí)行。
return 語(yǔ)句可以返回包括基本數(shù)據(jù)類型、對(duì)象、函數(shù)等任意類型的值。每個(gè)函數(shù)都會(huì)返回一個(gè)值。當(dāng)沒有使用 return 語(yǔ)句,或使用了 return,但其后面沒有指明返回值時(shí),函數(shù)都將返回“undefined”值。如果需要返回“undefined”以外的值,必須使用 return,同時(shí)指明返回的值。
函數(shù)一旦執(zhí)行完 return 語(yǔ)句,將會(huì)立即返回函數(shù)值,并中止函數(shù)的執(zhí)行,此時(shí) return 語(yǔ)句后的代碼都不會(huì)被執(zhí)行。根據(jù) return 語(yǔ)句的這一特性,常常會(huì)在需要提前退出函數(shù)的執(zhí)行時(shí),利用不帶返回值的 return 語(yǔ)句來隨時(shí)中止函數(shù)的執(zhí)行。
示例1:return 語(yǔ)句顯式返回函數(shù)值
<script> function expressionCaculate(x){ if((x >= -10) && (x <= 10)){ return x * x - 1; } else { return 5 * x + 3; } } console.log(expressionCaculate(6)); console.log(expressionCaculate(12)); </script>
expressionCaculate() 的 return 后面跟著的是一個(gè)表達(dá)式,在函數(shù)執(zhí)行到 return 語(yǔ)句時(shí)會(huì)先計(jì)算表達(dá)式的值,然后返回該值。調(diào)用函數(shù)時(shí),會(huì)根據(jù)傳給 x 的值,返回不同表達(dá)式的值。
示例2:return 語(yǔ)句中止函數(shù)的執(zhí)行
<script> function add(a,b){ if(a > b){ console.log("a大于b"); return; console.log("a+b=" + (a + b)); } console.log("a+b=" + (a + b)); } add(7,3); </script>
執(zhí)行 add(7,3) 代碼時(shí),將調(diào)用 add() 方法,此時(shí)第一個(gè)參數(shù)的值大于第二個(gè)參數(shù),在控制臺(tái)中輸出“a 大于 b”,然后函數(shù)返回,停止執(zhí)行,從而 return 語(yǔ)句后面的兩條日志都不會(huì)被輸出。運(yùn)行結(jié)果如圖所示。
【