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

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

ajax回調函數的疑問

ajax回調函數的疑問

慕田峪9158850 2019-04-23 15:18:06
xmlhttprequest.onreadystatechange=myFunction;為什么不能寫成xmlhttprequest.onreadystatechange=myFunction();具體一點,謝謝
查看完整描述

2 回答

?
慕萊塢森

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

xmlhttprequest.onreadystatechange=myFunction;
//把myFunction函數作為一個對象賦值給onreadystatechange.xmlhttprequest.onreadystatechange=myFunction()
//把myFunction函數的返回值賦值給onreadystatechange.如果它的返回值是個函數的話,當然可以這么用。
                            
查看完整回答
反對 回復 2019-04-23
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

使用myFunction()那么函數就立即執行并且返回值了,明顯不符合我們的目的。我們的目的是為onreadystatechange事件注冊一個處理函數,它在事件觸發時執行。1.加了括號的表示調用,它會被執行。函數執行后返回值(可能為undefined)。
2.沒有加括號的是函數的引用賦值,只是將一個函數當作變量賦值給xmlhttprequest.onreadystatechange,這時候函數沒有被調用,也沒有被執行,等待事件觸發時再執行。JavaScript中的回調都是要使用函數引用,看代碼更容易理解:varmyFunc=function(){/*code*/}
window.onload=myFunc;
//等同于:
window.onload=function(){/*code*/}
                            
查看完整回答
反對 回復 2019-04-23
  • 2 回答
  • 0 關注
  • 335 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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