首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AS3:检查变量是否为Object类型

AS3:检查变量是否为Object类型
EN

Stack Overflow用户
提问于 2009-12-11 08:54:13
回答 3查看 33.8K关注 0票数 19

我想在Actionscript 3中这样做:

if(variable is Object) ...;
else ...;

其中variable可以是String()Number()Array()Object()...

目前,上面的检查对于所有这些类型都返回true,这是有意义的。但是,我只希望它为使用new Object()创建的对象返回true。

任何帮助都将不胜感激!

EN

回答 3

Stack Overflow用户

发布于 2009-12-11 09:03:51

尝试基于以下内容之一的内容:

if (variable.constructor.toString().match(/object/i) == 'Object')

if (variable.constructor.toString().indexOf("Object") != -1)

如果对象是Object(),则构造函数字符串将类似于

function Object() { ... }

所以你可以检查一下。

票数 5
EN

Stack Overflow用户

发布于 2013-09-18 04:30:06

您也可以使用getQualifiedSuperclassName,它为Object类型返回null,因为它没有超类:

public static function isObject( obj:* ):Boolean
{
    if ( obj == null )
        return false;
    return ( getQualifiedSuperclassName( obj ) == null );
}
票数 3
EN

Stack Overflow用户

发布于 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
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1885163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档