Javascript 如何检查对象类型是否为图像?

Javascript 如何检查对象类型是否为图像?,javascript,jquery,dom,Javascript,Jquery,Dom,如果我这样写: var img = $(new Image()).attr('src', image.src); 我以后如何检查img var是否是一个图像而不是其他东西 img.filter('img') 如果这返回了什么,那么它就是一个图像 if ( img.is('img') ){ } 为了安全起见,我可能会再次尝试在jQuery中封装var,以防您将img更改为dom节点或其他内容 if ( $(img).is('img') ){ } 您应该避免显式类型检查 使用多态性选

如果我这样写:

var img = $(new Image()).attr('src', image.src);
我以后如何检查img var是否是一个图像而不是其他东西

img.filter('img')
如果这返回了什么,那么它就是一个图像

 if ( img.is('img') ){

 }
为了安全起见,我可能会再次尝试在jQuery中封装var,以防您将img更改为dom节点或其他内容

if ( $(img).is('img') ){

}

您应该避免显式类型检查

使用多态性选择必须对图像执行的操作,以及必须对其他对象执行的操作

var img = $(new Image())(...);
img.process = function(){ ... do whatever images need ... };
objs.push( img );

var txt = new Text();
txt.process = function(){ .. do text processing, spellcheck, ... };
objs.push( txt );

...

objs.each( o ) { o.process(); }

我正在使用一些库代码,这是一个丑陋的代码。有时img意味着图像对象,有时它只是一个html代码(flash嵌入或其他),如果img==图像对象,它应该只运行我编写的一些代码。有没有纯Javascript的方法来实现这一点?试试if(img.nodeType==1&&img.tagName==“img”)