哪种方法可以很好地检查 as3 中保存布尔值的对象变量?
which way is good to check the object variable holding boolean value in as3?
var myString:Object = "true";
if (myString.toLowerCase() == "true")
或
if (myString is Boolean)
或
if (myString == Boolean)
检查对象变量持有布尔值(true 或 false)哪个好。或者哪一个是正确的?
谢谢...
简短的回答是:
第一条指令:if (myString.toLowerCase() == "true")
.
长答案是:
还是第一条指令:if (myString.toLowerCase() == "true")
.
因为你真的在检查你的字符串是否等于 "true"
,而在第二条指令中你检查你的字符串是否为 Boolean
,而在第三条指令中你检查你的字符串是否等于 "true"
字符串是 Boolean
class.
希望能帮到你。
老实说,您的示例代码没有多大意义:您有一个 Object
变量,但您使用 toLowerCase()
假设它是一个 String
,但您检查是否也是 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 的实际布尔值,您可以将其解码为具有类型 Boolean
属性的类型化对象。您在此处的示例代码非常脆弱。
祝你好运。
var myString:Object = "true";
if (myString.toLowerCase() == "true")
或
if (myString is Boolean)
或
if (myString == Boolean)
检查对象变量持有布尔值(true 或 false)哪个好。或者哪一个是正确的?
谢谢...
简短的回答是:
第一条指令:if (myString.toLowerCase() == "true")
.
长答案是:
还是第一条指令:if (myString.toLowerCase() == "true")
.
因为你真的在检查你的字符串是否等于 "true"
,而在第二条指令中你检查你的字符串是否为 Boolean
,而在第三条指令中你检查你的字符串是否等于 "true"
字符串是 Boolean
class.
希望能帮到你。
老实说,您的示例代码没有多大意义:您有一个 Object
变量,但您使用 toLowerCase()
假设它是一个 String
,但您检查是否也是 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 的实际布尔值,您可以将其解码为具有类型 Boolean
属性的类型化对象。您在此处的示例代码非常脆弱。
祝你好运。