2 timychen TimyChen 于 2016.01.21 18:17 提问

obj === obj.window是什么意思?

$.isWindow = function(obj) { return obj != null && obj === obj.window; };
前一句obj!=null好懂,指obj不是空参数,后面一句obj === obj.window是什么意思?

2个回答

91program
91program   Ds   Rxr 2016.01.21 19:00
已采纳

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:耗子
链接: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、函数实例等...

TimyChen
TimyChen a=b;b===a//true
接近 2 年之前 回复
TimyChen
TimyChen 是这个意思吗:
接近 2 年之前 回复
TimyChen
TimyChen 不是特别懂
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.01.21 18:23
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!