问题描述
- obj === obj.window是什么意思?
-
$.isWindow = function(obj) { return obj != null && obj === obj.window; };
前一句obj!=null好懂,指obj不是空参数,后面一句obj === obj.window是什么意思?
解决方案
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:耗子
链接:https://www.zhihu.com/question/24260239/answer/27213585
来源:知乎
window对象是一个包含自己的对象 window.window....window === window;jq的这种判断并不严谨,比如 var a = {};
a.window = a;
console.log(a === a.window); // true
isWindow jq用在一些组合判断里。比如判断一个对象为纯粹的key-value hash对象,形如 {a:1,b:2}这种 ,而typeof坑太多,Object.prototype.toString.call又有兼容问题, jq先确定typeof返回的是"object",然后再依个排除array、 window、dom、函数实例等...
解决方案二:
https://www.zhihu.com/question/24260239
时间: 2024-08-03 00:01:45