在javascript中,實(shí)現(xiàn)函數(shù)返回值的語(yǔ)句是return,語(yǔ)法“return [返回值];”。在函數(shù)體內(nèi),使用return語(yǔ)句就可以設(shè)置函數(shù)的返回值;一旦執(zhí)行return語(yǔ)句,將停止函數(shù)的運(yùn)行,并運(yùn)算和返回return后面的表達(dá)式的值。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
JavaScript 函數(shù)提供兩個(gè)接口實(shí)現(xiàn)與外界的交互,其中參數(shù)作為入口,接收外界信息;返回值作為出口,把運(yùn)算結(jié)果反饋給外界。
在函數(shù)體內(nèi),使用 return 語(yǔ)句可以設(shè)置函數(shù)的返回值。一旦執(zhí)行 return 語(yǔ)句,將停止函數(shù)的運(yùn)行,并運(yùn)算和返回 return 后面的表達(dá)式的值。如果函數(shù)不包含 return 語(yǔ)句,則執(zhí)行完函數(shù)體內(nèi)每條語(yǔ)句后,返回 undefined 值。
JavaScript 是一種弱類(lèi)型語(yǔ)言,所以函數(shù)對(duì)接收和輸出的值都沒(méi)有類(lèi)型限制,JavaScript 也不會(huì)自動(dòng)檢測(cè)輸入和輸出值的類(lèi)型。
示例1
下面代碼定義函數(shù)的返回值為函數(shù)。
function f() { return function(x,y) { return x + y; } }
示例2
函數(shù)的參數(shù)沒(méi)有限制,但是返回值只能是一個(gè);如果要輸出多個(gè)值,可以通過(guò)數(shù)組或?qū)ο筮M(jìn)行設(shè)計(jì)。
function f() { var a = []; a[0] = true; a[1] = function(x,y) { return x + y; } a[2] = 123; return a; //返回多個(gè)值 }
在上面代碼中,函數(shù)返回值為數(shù)組,該數(shù)組包含 3 個(gè)元素,從而實(shí)現(xiàn)使用一個(gè) return 語(yǔ)句,返回多個(gè)值得目的。
示例3
在函數(shù)體內(nèi)可以包含多條 return 語(yǔ)句,但是僅能執(zhí)行一條 return 語(yǔ)句,因此在函數(shù)體內(nèi)可以使用分支結(jié)構(gòu)決定函數(shù)返回值,或者使用 return 語(yǔ)句提前終止函數(shù)運(yùn)行。
function f(x,y) { //如果參數(shù)為非數(shù)字類(lèi)型,則終止函數(shù)執(zhí)行 if (typeof x != "number" || typeof y != "number") return; //根據(jù)條件返回值 if (x > y) return x - y; if (x < y) return y - x; if (x * y <= 0) return x + y; }
【推薦學(xué)習(xí):javascript高級(jí)教程】