以下测试
var x:XML = <a></a>; function b():String{ trace(x.aa.b || "1"); trace(String(x.aa.b || "1")); trace(String(x.aa.b) || "1"); return x.aa.b || "1"; } function b2():String{ trace(x.aa.b && "1"); trace(String(x.aa.b && "1")); trace(String(x.aa.b) && "1"); return x.aa.b && "1"; } trace("----"); trace(b()); trace("----"); trace(b2()); trace("----");
这四个trace匪夷所思啊,为什么呢?
实际的输出结果是
---- [object Object] 1 1 ---- 1 1 ----