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

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

if(window.Node && (obj instanceof Node)){ return true; }這段代碼不理解

為什么?

if(window.Node && (obj instanceof Node)){
return true;
}
如果符合if中的條件就直接返回true了呢,符合if中的條件就能說明obj是元素類型了嗎?

正在回答

3 回答

這句話這么解釋,window.Node,是查看window里是否有這么一個Node對象,然后obj instanceof Node是說明obj是否是Node對象的一個實例,即是不是new Node出來的,滿足了這兩個條件,obj就是Node類型

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

偏愛花開的聲音 提問者

聽到老師說這個是為了IE9寫的,是只有IE9可以這樣檢測,別的瀏覽器都不行嗎?
2015-10-20 回復 有任何疑惑可以回復我~
#2

子木李 回復 偏愛花開的聲音 提問者

也行,window.Node是為了兼容IE的,即其他瀏覽器可以不寫這一句,但是為了能在IE中運行正常,一般都寫上,就像窗口的響應事件,其他的瀏覽器只需寫一個event就行,但是為了兼容ie,就得寫 e=e||window.event,建議樓主不用太糾結這個問題,畢竟,MS自己都放棄了IE了
2015-10-20 回復 有任何疑惑可以回復我~
#3

偏愛花開的聲音 提問者 回復 子木李

謝謝答主~這個問題大概明白了~剛剛又看了一遍老師的視頻,還是這段代碼,老師說“因為obj可能來自另外一個文檔對象,所以不滿足if中的條件也不能馬上返回false”,這又是怎么回事呢
2015-10-27 回復 有任何疑惑可以回復我~
#4

子木李 回復 偏愛花開的聲音 提問者

哦,這個是因為可能有iframe的存在,如果是iframe的話,它就是來自另外一個文檔對象了,因為iframe的windows、document對象和當前頁面的windows、document對象不是同一個對象
2015-10-27 回復 有任何疑惑可以回復我~
#5

偏愛花開的聲音 提問者 回復 子木李

明白了~多謝啦~~
2015-10-30 回復 有任何疑惑可以回復我~
#6

呆呆的地瓜

既然他是其他文本的對象,那么是不是不滿足if(window.Node && (obj instanceof Node)),為什么還要返還ture呢??
2016-09-27 回復 有任何疑惑可以回復我~
查看3條回復

哈哈,微軟自己都要放棄IE了

0 回復 有任何疑惑可以回復我~
<html></html>


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

舉報

0/150
提交
取消

if(window.Node && (obj instanceof Node)){ return true; }這段代碼不理解

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

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

幫助反饋 APP下載

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

公眾號

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