11RIA 闪客社区 - 最赞 Animate Flash 论坛

标题: 赞美版主,顺便谈谈我对trace的理解! [打印本页]

作者: 雪原xy    时间: 2018-12-6 06:07
标题: 赞美版主,顺便谈谈我对trace的理解!
新版块真的开通了,反应如此迅速,主题分类如此清晰,版主真令人敬服!!不得不发帖赞美!!
为响应号召,我今天来谈谈第一个主题,trace(),trace()是一个非常有用的工具,它可以把我们运算的结果输出到输出面板,帮我们检查结果是不是我们想要的!
它的用法就是把我们想要输出的变量放在括号里就行了!很简单!
这就是trace(),对于它我就知道这么多,有不当之处,还望大家指正!谢谢!!
作者: TKCB    时间: 2018-12-6 07:13
本帖最后由 TKCB 于 2018-12-6 09:04 编辑

trace其实就是将程序结果输出打印出来,可以是变量、常亮、表达式、返回值、对象等等。。
一次可以打印多个值,可以用逗号隔开。
例如:trace( a, b, c );     // 多个逗号输出
例如:trace( a + b * c );   // 表达式计算结果输出
例如:trace( str + "\n" );     // 输出文本的值,如果是文本框的,经常会加上“\n”
例如:trace( xxx(num) );   // 某个函数的返回值,可以传递参数如num。
更多可以自己去探索……
作者: 最后一批aser    时间: 2018-12-6 08:04
本帖最后由 最后一批aser 于 2018-12-6 09:27 编辑

[Actionscript3] 纯文本查看 复制代码

                // 加強版 trace  ,測試后你會發現,可以準確定位到輸出的位置
                function superTrace(... args)
                {
                        //如果當前是debug版本或者ide測試版本,就輸出,因為這是一個錯誤輸出,如果不加判斷,superTrace之後的代碼不被執行!
                        if (flash.system.Capabilities.isDebugger)
                        {
                                var e:Error = new Error();
                                var caller:String = "位置=[" + e.getStackTrace().match(/[\w\/]*\(\)/g)[1] + "]";
                                trace(caller, "輸出=" + args);
                        }
                }



作者: 雪原xy    时间: 2018-12-6 09:04
TKCB 发表于 2018-12-6 07:13
trace其实就是将程序结果输出打印出来,可以是变量、常亮、表达式、返回值、对象等等。。
一次可以打印多个 ...

还是T老师说的全面!!
作者: 雪原xy    时间: 2018-12-6 09:06
最后一批aser 发表于 2018-12-6 08:04
[mw_shl_code=actionscript3,true]
// 加強版 trace  
                function superTrace(... args)

flash.system.Capabilities.isDebugger
这是什么意思?
大神能解释一下吗?谢谢!
作者: TKCB    时间: 2018-12-6 09:14
雪原xy 发表于 2018-12-6 09:06
flash.system.Capabilities.isDebugger
这是什么意思?
大神能解释一下吗?谢谢!

上面有注释~~

//如果當前是debug版本或者ide測試版本,就輸出

作者: 雪原xy    时间: 2018-12-6 09:24
TKCB 发表于 2018-12-6 09:14
上面有注释~~

//如果當前是debug版本或者ide測試版本,就輸出

这是个表达式吗?能返回布尔值??
作者: 雪原xy    时间: 2018-12-6 11:42
雪原xy 发表于 2018-12-6 09:24
这是个表达式吗?能返回布尔值??

哦,谢谢,我去查查!
作者: hsyxh    时间: 2019-8-9 17:11
例如:trace( a + b * c );   // 表达式计算结果输出,
如果,哦想输出1这个数字,还有2和3 的积,只能用,例如:trace(1,2 *3);   // 表达式计算结果输出
是不是这样?
作者: nmallan    时间: 2019-10-18 07:37
trace 是追踪的意思,只在编写阶段使用。




欢迎光临 11RIA 闪客社区 - 最赞 Animate Flash 论坛 (http://www.11ria.com/) Powered by Discuz! X3.4