Actionscript是否在调试器中整数?

时间:2011-05-09 06:42:18

标签: flash flex actionscript-3

我在Flex中偶然发现了一件奇怪的事情。我创建了一个整数变量:

var foo:int = 1;

在调试器中,它说foo是 Number ,值为1.

这对我来说不是一个大问题,但在进行远程服务调用时似乎正在发送Numbers而不是整数。这里发生了什么?

2 个答案:

答案 0 :(得分:0)

我认为输出尝试尽可能原始 - 这是一个有趣的例子:

var i:int = 1;
var mc:MovieClip = new MovieClip();

trace(typeof(i)); // number
trace(typeof(mc)); // object

做了一些reasearch:typeof只能返回这六个结果:

Array -> object
Boolean -> boolean
Function -> function
int -> number
Number -> number
Object -> object
String -> string
uint -> number
XML -> xml
XMLList -> xml
  

“评估表达式并返回一个   指定表达式的字符串   数据类型。结果仅限于   六个可能的字符串值:布尔值,   功能,数字,对象,字符串和   XML。如果您将此运算符应用于   用户定义的类的实例,   结果是字符串对象。该   包含typeof运算符   向后兼容性。使用是   运算符检查类型兼容性。“

答案 1 :(得分:-1)

我发现了一篇关于int vs Number:Avoid ints in ActionScript的有趣帖子。鉴于此,并且int也是一个对象:ActionScript Reference会发生的事情是调试器将int转换为Number并显示其值可能只​​是因为Number是一个更宽的类型并且可以保持所有的int而反之则不是真。