哪种方式可以检查as3中保存布尔值的对象变量?

时间:2015-10-28 07:13:36

标签: actionscript-3 flex4

        var myString:Object = "true";
        if (myString.toLowerCase() == "true")

        if (myString is Boolean)

        if (myString == Boolean)

检查对象变量是否保持布尔值(true或false)是最好的。或者哪一个是对的?

...谢谢

2 个答案:

答案 0 :(得分:1)

简短的回答是:

第一条指令:if (myString.toLowerCase() == "true")

答案很长:

仍然是第一条指令:if (myString.toLowerCase() == "true")

因为你确实在检查你的字符串是否等于"true",而在第二条指令中你正在检查你的字符串是否是Boolean,而在第三条指令中你检查你的字符串是否是Boolean // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.3.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } 班。

希望可以提供帮助。

答案 1 :(得分:0)

老实说,您的示例代码没有多大意义:您有一个Object变量,但是您使用String认为它是toLowerCase(),但您检查是否它也是Boolean。如果您知道它是一个字符串,请将您的变量设为String

var myString:String = "true";

如果你不知道它是一个字符串,你需要检查它是否是一个字符串,否则如果它不是一个字符串你就会收到错误:

if (myObject is String && (myObject as String).toLowerCase() == "true")

如果它可以是布尔值,你也应该将它检查为布尔值:

else if(myObject is Boolean && (myObject as Boolean) == true)

一般来说,在这段代码之前的某个地方进行某种解码过程会更好,这样你就可以知道你正在处理什么类型的数据,并且比较是直截了当的。例如,JSON数据结构的JSON.parse()将导致布尔值的实际布尔值,您可以将其解码为具有类型Boolean属性的类型对象。你在这里的示例代码非常脆弱。

祝你好运。