課程
/前端開發
/JavaScript
/JavaScript進階篇
為什么兩次調用函數,但是只有第一次才調用成功,第二次調用不成功的?
2014-12-30
源自:JavaScript進階篇 5-4
正在回答
???//定義了一個名為sum的函數 ???function?sum(x,y,z){ ??????sum?=?x?+?y?+z;?//重新定義了sum ??????document.write(x+"、"+y+"、"+z+"和:"+sum+"<br/>"); ???} ???sum(5,8,3);?//執行sum函數,同時sum被重新定義為x+y+z,執行結果顯示 ???sum(7,1,4);?//無法找到sum函數,因為sum被重新定義了。
解決方案,換個函數名即可。
???function?add(x,y,z){ ??????sum?=?x?+?y?+z;? ??????document.write(x+"、"+y+"、"+z+"和:"+sum+"<br/>"); ???} ???add(5,8,3);? ???add(7,1,4);
Htgs 提問者
局部變量sum前沒有var,sum()函數執行過后就會產生一個全局變量sum,下次執行sum()函數,就報錯number is not a function。還有你把變量跟函數名一樣是想干啥?
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
4 回答調用了兩次函數,卻只輸出第一次調用的函數結果,即使調換位置。
1 回答為什么第二次篩選不成功?
3 回答首先需要第一次調用startCount()?
3 回答為什么要調用兩次setTimeout()才能生效?
3 回答出現只調用了一次函數的原因是什么???
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2014-12-30
解決方案,換個函數名即可。
2014-12-30
局部變量sum前沒有var,sum()函數執行過后就會產生一個全局變量sum,下次執行sum()函數,就報錯number is not a function。還有你把變量跟函數名一樣是想干啥?