我想在Actionscript 3中这样做:
if(variable is Object) ...;
else ...;
其中variable
可以是String()
,Number()
,Array()
,Object()
...
目前,上面的检查对于所有这些类型都返回true,这是有意义的。但是,我只希望它为使用new Object()
创建的对象返回true。
任何帮助都将不胜感激!
发布于 2009-12-11 09:03:51
尝试基于以下内容之一的内容:
if (variable.constructor.toString().match(/object/i) == 'Object')
if (variable.constructor.toString().indexOf("Object") != -1)
如果对象是Object(),则构造函数字符串将类似于
function Object() { ... }
所以你可以检查一下。
发布于 2013-09-18 04:30:06
您也可以使用getQualifiedSuperclassName
,它为Object
类型返回null
,因为它没有超类:
public static function isObject( obj:* ):Boolean
{
if ( obj == null )
return false;
return ( getQualifiedSuperclassName( obj ) == null );
}
发布于 2014-10-16 16:56:57
给你,试试这个..
var ob:Object = new Object();
trace(ob); //[object Object]
trace(typeof(ob) == "object"); //true
if(typeof(ob) == "object"){
//true
}else{
//false
}
https://stackoverflow.com/questions/1885163
复制相似问题