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

為了賬號安全,請及時綁定郵箱和手機立即綁定

調用init函數不理解

只執行一次用戶的回調函數init()這一點不理解,

如下是老師的代碼:

var init=function(){

? ?if(!done){

? ? done=true;

fn();

? ?}

?};

如果我把老師的代碼改為如下:

var init=fn();

好像也不可能會出現fn()函數調用兩次的情況對嗎?會的朋友指教一下(求詳細一點)謝謝謝謝


正在回答

2 回答

var init = fn();由于回調函數fn沒有返回值,那么init存儲的值為undefined;我想你的本意是想將init指向fn所指向的函數對象,然后在后面直接調用init(),對吧?如果是這樣,那么對于onreadystatechange事件的處理程序和其前面()()結構中的語句會造成兩次調用回調函數fn,而有了done條件判斷,只要init調用一次,再次調用init就會失效,從而保證只調用一次回調函數fn。

0 回復 有任何疑惑可以回復我~
#1

海賊王2015 提問者

嗯嗯,謝謝你的回答,謝謝
2015-10-19 回復 有任何疑惑可以回復我~

init=fn();
是把fn的執行的返回值給了init,如果這樣,就調用多次fn()了。
結果成了調用fn()(),仔細看看,是不是這樣。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

調用init函數不理解

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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