代码之家  ›  专栏  ›  技术社区  ›  Derek Adair

与as3中的打印功能类似

  •  2
  • Derek Adair  · 技术社区  · 16 年前

    在php中,我们有print\u r()方法。

    3 回复  |  直到 16 年前
        1
  •  2
  •   Jorge Guberte    16 年前

    I found this :

    public function analyze(_obj):void {
        var item:Object;
        switch (typeof(_obj)){
            case "object":
                write("<object>");
                write(_obj.toString());
                for each (item in _obj){
                    analyze(item);
                };
                write("</object>");
            break;
            case "xml":
                write("<xml>");
                write(_obj);
                write("</xml>");
            break;
            default:
                write(_obj + " (" + typeof(_obj) + ")");
            break;
        };
    } // analyze()
    public function write(_obj):void{
        trace(_obj);
    } // END write()
    
        3
  •  0
  •   davr    16 年前

    下面是另一个例子:

        public function rTrace(obj:*, tab:Number=0):void {
            if(tab > 10) return;
            for(var key:String in obj) {
                if(typeof(obj[key]) == "object" || obj[key] is Array) {
                    tr(doTab(tab)+key+"["+typeof(obj[key])+"]= {");
                    rTrace(obj[key], tab+2);
                    tr(doTab(tab)+"}");
                } else
                    tr(doTab(tab)+key+"["+typeof(obj[key])+"]="+obj[key]);                  
            }
        }
        private function doTab(n:Number):String {
            var out:String = "";
            for(var i:Number=0; i<n; i++) 
                out += " ";
            return out;         
        }       
        private function tr(msg:String):void {
            trace(msg);
        }
    

    用法示例:

    var test:Object = {id:"asdf", count:17, 
                       childs:[1,2,7,39], tasks:{task_1:"test", task_2:true}};
    rTrace(test);
    

    给出输出:

    tasks[object]= {
      task_2[boolean]=true
      task_1[string]=test
    }
    count[number]=17
    childs[object]= {
      0[number]=1
      1[number]=2
      2[number]=7
      3[number]=39
    }
    id[string]=asdf