Javascript 确定对象是否为<;部门>;或者窗户

Javascript 确定对象是否为<;部门>;或者窗户,javascript,dom,Javascript,Dom,就我所见,可以在JavaScript中验证某个对象实际上是div元素: if (element.constructor == HTMLDivElement) { //... } 如何应用类似的检查来查看元素是否为窗口?检查DOMWindow不起作用,这样的函数似乎未定义。DOM元素的“tagName”属性将告诉您它是什么类型的DOM元素。我不知道有什么好方法可以检查引用是否指向“窗口”实例,除了通过duck键入 与其检查引用是什么,不如检查对象能做什么,或者看起来能做什么。通过确定一个物

就我所见,可以在JavaScript中验证某个对象实际上是div元素:

if (element.constructor  == HTMLDivElement) {
  //...
}
如何应用类似的检查来查看元素是否为窗口?检查
DOMWindow
不起作用,这样的函数似乎未定义。

DOM元素的“tagName”属性将告诉您它是什么类型的DOM元素。我不知道有什么好方法可以检查引用是否指向“窗口”实例,除了通过duck键入

与其检查引用是什么,不如检查对象能做什么,或者看起来能做什么。通过确定一个物体的性质,你到底想达到什么目的

因为Javascript对象具有很强的可塑性,即使您确定某个对象是
DOM实例,也不一定能告诉您关于它的一切,因为代码可能已经改变了对象的属性,无法识别。

DOM元素的“tagName”属性将告诉您它是什么类型的DOM元素。我不知道有什么好方法可以检查引用是否指向“窗口”实例,除了通过duck键入

与其检查引用是什么,不如检查对象能做什么,或者看起来能做什么。通过确定一个物体的性质,你到底想达到什么目的


因为Javascript对象具有很强的可塑性,即使您确定某个对象是
DOM实例,也不一定能告诉您关于它的一切,因为代码可能已经改变了对象的属性,无法识别。

使用jquery,它应该像 如果($('div')。长度==0) { //他们不是演员 }否则{ //他们的名字在书页上 }


还可以使用jquery检查id或类是否存在 如果($('div')。长度==0) { //他们不是演员 }否则{ //他们的名字在书页上 }


您还可以检查id或类是否存在

如果您只需要检查对象是否是当前浏览器窗口(与另一个浏览器窗口相反),您可以通过对
窗口
对象进行简单的身份检查(只要您没有过度使用它)


如果只需要检查对象是否为当前浏览器窗口(与另一个浏览器窗口相反),则只需对
窗口
对象进行简单的身份检查即可轻松完成此操作(只要您没有过度使用它)

一个解决方案来自:

// A crude way of determining if an object is a window
function isWindow ( obj ) {
    return obj && typeof obj === "object" && "setInterval" in obj;
}
一个解决方案来自:

// A crude way of determining if an object is a window
function isWindow ( obj ) {
    return obj && typeof obj === "object" && "setInterval" in obj;
}

我有两个版本的渲染函数:一个用于“全屏”模式,当传递给渲染器的对象是窗口时(在本例中,我使用其width()和height()属性,并设置调整大小事件处理程序),另一个用于普通模式,在普通模式中,我使用对象的CSS属性。如果对象两者都不是,则函数应该退出并显示一条错误消息。我有两个版本的渲染函数:一个用于“全屏”模式,当传递给渲染器的对象是窗口时(在本例中,我使用其width()和height()属性,并设置一个调整大小事件处理程序),另一个用于正常模式,其中我使用了对象的CSS属性。如果对象既不是也不是,则函数应该只带一条错误消息退出。