Wit*_*iko 7 html javascript dom javascript-objects
标题基本概括了所有内容.我需要检查一个对象是否是DOM的一个实例:Window接口.如果iframe存在,也window将通过测试window.frames[xyz].
最直观的方式似乎是一个简单的检查实例object instanceof window.constructor.这是一种令人遗憾的事态,有浏览器(如IE6),window.constructor等于undefined.
你会建议什么?总是存在hacky,丑陋和toString依赖的方式/\[object.*window.*\]/i.test(object),但如果可能的话,我宁愿选择一个简单,干净的解决方案.
该window对象具有异常属性window,该属性始终指向同一window对象。这将是非常不可能用于其他任何目的复制这种行为,所以你可以使用它作为后备的window.constructor测试:
function isWindow(obj) {
if (typeof(window.constructor) === 'undefined') {
return obj instanceof window.constructor;
} else {
return obj.window === obj;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3391 次 |
| 最近记录: |