課程
/前端開發
/JavaScript
/JavaScript進階篇
返回打印的情況
返回return的情況
2018-11-14
源自:JavaScript進階篇 5-6
正在回答
通過控制臺調試可以發現,document.write()中的內容,是先執行函數部分,得到函數結果后才打印結果。舉個栗子,比如document.write(1+2),如果內容是順序打印出來,那結果還會是3么(笑)就是說,內容不是順序打印下來,而是確定了要打印什么內容后,一次性全部打印出來。然后document.write()本身就是一個函數,定義一個變量去獲取document.write()的返回值,發現是undefined(其實JS中的函數都是有返回值的,不定義返回值那默認就是undefined)。那么到這里再重新理一下代碼的執行順序:document.write("9和9的較大值是:"+compare(9,9)); ?先是為了確定要輸出的內容,執行了函數,在函數中遇到了document.write('兩個數一樣大'),所以先輸出了內容"兩個數一樣大",接著compare(9,9)這個函數就算執行完了,由于這個函數沒定義返回值,默認返回了undefined,這時候document.write("9和9的較大值是:"+compare(9,9));要輸出的內容就確定了,一次性輸出出:9和9的較大值是:undefined,你可以試試在document.write('兩個數一樣大')后面再添加一句return "兩數相等";給函數加上返回值看看效果哦~
你可以這樣用,var result=compare(9,9),將返回的結果存在result里面,再輸出打印document.write(result),這個函數compare()返回的是一個值,而不是打印輸出,如果要打印就得再次調用document.write,而document.write("兩個數一樣大")的情況下,調用函數就會打印輸出,不存在返回值,就不能用result=compare(9,9)接收返回的值了
你可以這樣用,var result=compare(9,9),將返回的結果存在result里面,再輸出打印document.write(result),這個函數compare()返回的是一個值,而不是打印輸出,如果要打印就得再次調用document.write,而document.write("兩個數一樣大")的情況下,調用函數就會打印輸出,不存在返回值,就不能用result=app2(2,3)接收返回的值了
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
2 回答為什么vvv()不用return返回函數?add3()需要返回函數
2 回答為什么返回值都一樣
1 回答為什么不顯示秒數?不能返回上一頁?
3 回答為什么我的不能返回呢
8 回答為什么document.write(mystr.charAt(2)); 返回的結果是1
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-11-15
通過控制臺調試可以發現,document.write()中的內容,是先執行函數部分,得到函數結果后才打印結果。舉個栗子,比如document.write(1+2),如果內容是順序打印出來,那結果還會是3么(笑)就是說,內容不是順序打印下來,而是確定了要打印什么內容后,一次性全部打印出來。然后document.write()本身就是一個函數,定義一個變量去獲取document.write()的返回值,發現是undefined(其實JS中的函數都是有返回值的,不定義返回值那默認就是undefined)。那么到這里再重新理一下代碼的執行順序:document.write("9和9的較大值是:"+compare(9,9)); ?先是為了確定要輸出的內容,執行了函數,在函數中遇到了document.write('兩個數一樣大'),所以先輸出了內容"兩個數一樣大",接著compare(9,9)這個函數就算執行完了,由于這個函數沒定義返回值,默認返回了undefined,這時候document.write("9和9的較大值是:"+compare(9,9));要輸出的內容就確定了,一次性輸出出:9和9的較大值是:undefined,你可以試試在document.write('兩個數一樣大')后面再添加一句return "兩數相等";給函數加上返回值看看效果哦~
2018-11-14
你可以這樣用,var result=compare(9,9),將返回的結果存在result里面,再輸出打印document.write(result),這個函數compare()返回的是一個值,而不是打印輸出,如果要打印就得再次調用document.write,而document.write("兩個數一樣大")的情況下,調用函數就會打印輸出,不存在返回值,就不能用result=compare(9,9)接收返回的值了
2018-11-14
你可以這樣用,var result=compare(9,9),將返回的結果存在result里面,再輸出打印document.write(result),這個函數compare()返回的是一個值,而不是打印輸出,如果要打印就得再次調用document.write,而document.write("兩個數一樣大")的情況下,調用函數就會打印輸出,不存在返回值,就不能用result=app2(2,3)接收返回的值了