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