亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求大神解惑 剛學JS,這個return在這里起什么作用?

求大神解惑 剛學JS,這個return在這里起什么作用?

天窗的螞蟻 2016-01-21 17:20:33
<!DOCTYPE?html> <html?xmlns="http://www.w3.org/1999/xhtml"> <head> ????<title></title> ????<script?type="text/javascript"> ????????//定義函數 ????????function?addNum(a,b) ????????{ ????????????var?m=a+b; ????????????return?m; ????????} ????????//調用函數 ????????var?sum=addNum(1,2); ????????document.write("相加的結果是:"+sum); ????</script> </head> <body> </body> </html>剛開始學JS,這個return在這里起什么作用?返回m的值嗎?為什么我把它去掉后,就出錯了?
查看完整描述

5 回答

已采納
?
_Forliberty

TA貢獻3條經驗 獲得超2個贊

m是這個函數的返回值,表示a+b的結果。你可以這么理解:當你用計算器計算1+2的值的時候,如果計算器沒有顯示屏顯示出來3這個結果,你就只能知道計算器確實計算了1+2,但是最終結果是多少你并不知道。sum=addNum(1, 2),如果沒有return語句,那么sum究竟等于什么呢?既然sum是個無意義的值,那么用JS輸出的時候肯定會報錯。

查看完整回答
2 反對 回復 2016-01-21
  • zhangcl
    zhangcl
    不會的,比如說: var sum; console.log(sum); 這樣的語句定義sum,但沒有初始化,輸出結果是undefined。 同理上面的addNum()函數如果沒有定義return的返回值(也就是函數沒有返回值,只是進行了操作處理),如果用var sum=addNum()這樣的方式去接收,和上面的方式應該是一樣的。你在控制臺打印,結果應該也是undefined(我也沒驗證過,但是原理應該是一樣的,你可以自己去實驗一下)。一般來說,在寫js的時候,如果出現樓主輸的那種寫法,用debug調試,我從來沒有遇到過報錯的情況,鼠標查看sum的值,肯定是undefined。
  • 天窗的螞蟻
    天窗的螞蟻
    對對,確實是出現undefined.謝謝您的熱心解答。
  • _Forliberty
    _Forliberty
    感謝樓上的指正。輸出確實是undefined,我在描述的時候沒有仔細說明,只是簡單地表達得不到想要的結果,希望沒有誤導樓主。大家共同學習,共同進步!
?
咸魚王GG

TA貢獻1條經驗 獲得超0個贊

JS代碼每次執行的時候都會有返回值,函數的返回值是給調用的函數,所以當你調用sum的時候如果sum函數里面不寫返回值返回的是一個undefined 所以自然會報錯

查看完整回答
反對 回復 2016-01-22
?
yishuixs

TA貢獻4條經驗 獲得超4個贊

返回值,去掉當然出錯,語法都不對了

查看完整回答
反對 回復 2016-01-22
?
Perona

TA貢獻355條經驗 獲得超403個贊

return就是返回函數的結果。這里m就是addNum()函數的返回值。

查看完整回答
反對 回復 2016-01-21
  • 5 回答
  • 0 關注
  • 1797 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號