[英]In Javascript, How to determine if an object property exists and is not empty?
[英]How to determine if a property exists on a javascript object
我在javascript中创建了很多Image对象,并将它们全部放置在数组中。 但是,其中一些对象具有mouseover()和mouseout()属性,而有些则没有。
有没有一种方法可以确定我所引用的对象是否已定义那些功能?
我试过了
if (typeof obj.mouseover !== 'undefined')
但如果我从未宣布
mouseover = function() { ... }
在该对象上,代码就在此处中断。
因此,我正在寻找一种确定是否在每个对象上添加'var mouseover = function(){...}'的方法。
当然,即使没有设置任何对象,我也可以确保每个对象都具有mouseover和mouseout的创建功能,但是如果有另一种方法来检测是否首先设置了该对象,那感觉就像是不必要的痛苦。
谢谢。
您可以通过Object.hasOwnProperty('someMethodName')
检查该方法是否存在于对象上
使用反射。 例如: Javascript反映
这样就可以很容易地编写类似的函数:DidMethodExist = function(object_,methodName){...}
遍历object_的所有方法名称,并将它们与methodoName匹配。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.