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

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

為什么new Image()后,沒有用src賦值?也可以預加載?

為什么new Image()后,沒有用src賦值?也可以預加載?

正在回答

5 回答

我也是,建議用手機的離線功能,先都離線下來,然后隨便看.,

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

放一張高程的正確解釋

http://img1.sycdn.imooc.com//5da6db630001ab3906680617.jpg

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

這個原因我查過,那就是防止有的圖片已經緩存過了,防止onload的事件的function還沒傳給onload時,就已經加載完了,導致onload事件根本沒發生。這是比較好理解的,還有說圖片是什么異步的js是同步的。

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

當imgsObj.src = 圖片路徑的時候,已經就是在實現圖片緩存功能了

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

new Image()之后,先綁定load和error的事件,然后賦值src,才會觸發之前綁定的事件,所以事件綁定要在前面,僅供參考

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

jylrc 提問者

放前面效果不是一樣的嗎?
2017-07-19 回復 有任何疑惑可以回復我~
#2

ffg_瘋瘋過 回復 jylrc 提問者

js內部是按順序逐行執行的,可以認為是同步的 給imgae賦值src時,去加載圖片這個過程是異步的,這個異步過程完成后,如果有onload,則執行onload 如果先賦值src,那么這個異步過程可能在你賦值onload之前就完成了(比如圖片緩存,或者是js由于某些原因被阻塞了),那么onload就不會執行 反之,js同步執行確定onload賦值完成后才會賦值src,可以保證這個異步過程在onload賦值完成后才開始進行,也就保證了onload一定會被執行到 ----------**以上摘自網上答案**-------- 還有一個問題據說在IE上如果src寫在前面會報錯
2017-10-11 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么new Image()后,沒有用src賦值?也可以預加載?

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

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

幫助反饋 APP下載

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

公眾號

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