jQuery.window


1.为啥要先判断obj!=null
2.为什么要obj===obj.window;
而不是ojb===window;
我这样写不也可以判断

isWindow:function(obj){

return obj===window;

}

回答

因为 obj 有可能为 null 或者 undefined,要先确定 obj 存在才能去判断 obj.window 是否与 obj 相等

至于为什么要用 obj === obj.window 判断你可以参考
https://developer.mozilla.org...

这是跟iframe有关系的。比如说用了iframe,ifrme里面也有window,那这时window到底是这个页面的window还是嵌入页面的window呢。因此obj===window判断不了这种情况。
使用obj.window===window,这是采用了鸭子模式。
既然使用了obj.window===window,那就必须先判断obj!=null,否则obj.window===window会报错

以上是 jQuery.window 的全部内容, 来源链接: utcz.com/a/33681.html

回到顶部