$.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、函數實例等...