ActionScript - trace()。顶级函数行为

时间:2011-06-17 20:27:03

标签: flash actionscript-3 trace avm2

当我在Flash Player Debug中跟踪变量时,我遇到了一个奇怪的行为。 让我们假设我们有一个像“x:y”的模式。 “x”和“y”是整数变量。如果我们用

跟踪该表达式
trace("x:y");

行为是

1)如果x <1。 10

“x”变量和“:”将被省略,只打印出“y”

2)如果x> = 10

一切都按预期工作。打印出“x:y”。

问题:

  1. 为什么会这样?
  2. 冒号是动作中的特殊字符吗?
  3. 是否可以避免此行为并打印出例如“1:1”?
  4. 重现:

    // following looks wrong
    trace("1:1");  // 1
    trace("2:1");  // 1
    //but the next ones - look correct
    trace("10:1"); // 10:1
    trace("11:1"); // 11:1
    

    提前致谢。

2 个答案:

答案 0 :(得分:2)

使用mxmlc进行测试:

// following looks wrong
trace("1:1");  // 1
trace("2:1");  // 1
//but the next ones - look correct
trace("10:1"); // 10:1
trace("11:1"); // 11:1

为我制作这些结果:

1:1
2:1
10:1
11:1

您可以发布任何其他内容以帮助缩小问题范围吗?

答案 1 :(得分:0)

变量不应该用引号括起来。跟踪这个的正确方法是:

trace(x + ":" + y);

编辑:我不确定为什么会这样做,但我在Flash Pro中跟踪时没有得到这种行为......