return的問(wèn)題
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>返回值函數(shù)</title>
<script type="text/javascript">
? function? app2(x,y)
? { var sum,x,y;
??? sum = x * y;
return sum;
? }
var req1= app2(5,6);
?var req2= app2(2,3);
var sumq = req1 + req2;
document.write("req1的值:"+req1+"<br/>");
document.write("req2的值:"+req2+"<br/>");
document.write(req1+"與"+req2+"和:"+sumq);
</script>
</head>
<body>
</body>
</html>
剛剛學(xué)的,但是有店不是很理解,這個(gè)return到底是什么意思呢
我理解的是,相乘完畢后無(wú)論得到什么樣的數(shù)值,return都可以將計(jì)算的結(jié)果摩擦掉,返回到最開(kāi)始的初始效果,這里理解對(duì)么
希望大牛給個(gè)大白話的解答
2015-12-04
英文 return ?中文 返回的意思。也就是說(shuō)
function app2(x,y)
? {?
//這里不用再次聲明 x y 了 ,它們已經(jīng)通過(guò)函數(shù)參數(shù)傳過(guò)來(lái)了
var sum,x,y;
//在這里計(jì)算 x 乘以 y 的值,并且把結(jié)果賦值給sum
??? sum = x * y;
// 這個(gè)return 的意思就是把 return 后面的東西返回給調(diào)用這個(gè)函數(shù)的地方 ?也就是下面的app2(5,6)那里。
//5 乘以 6 得 30 所以 返回 30 ? ?req1 也就等于 30。。?
//函數(shù)是快級(jí)作用域。 函數(shù)執(zhí)行完了之后,函數(shù)里聲明的變量會(huì)自動(dòng)銷毀。此時(shí)的sum也就不存在了。
//直到下一次調(diào)用這個(gè)函數(shù)的時(shí)候又重新聲明sum,重新賦值。
return sum;
? }
var req1= app2(5,6); ?//等價(jià)于 ? var req1 ?= 30;
我這樣說(shuō)你明白嗎?
2015-12-04
并不是,return 是返回 return 后面的東西,而且一個(gè)函數(shù)只能return 一次,一次return一個(gè)值 (這個(gè)app2函數(shù)就是返回的計(jì)算x乘以y 的計(jì)算結(jié)果值 sum),return語(yǔ)句后面的語(yǔ)句將不被執(zhí)行。
如果沒(méi)有return 那么函數(shù)不會(huì)返回值,你再調(diào)用這個(gè)函數(shù)就得不到它們的計(jì)算值了