您的位置:首页 > 其它

flex开发陷阱(不断补充)

2009-10-08 10:18 218 查看
对于flex开发过程中遇到的奇怪问题,我会不断总结到这里

1. toString()
在向函数传递参数的时候,如果你的参数定义成string,而你的参数值本身不是string类型,最好就先对参数值执行toString(),否则,有可能会发生非常奇怪的现象,在调试器中已经可以看到值,但是到了函数内部就是出错,非常莫名其妙<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:XML id="testXml" xmlns="">
<data>
<date>1999/2/27</date>
</data>
</mx:XML>

<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function getDate(dateStr: Object): void
{
Alert.show((new Date(dateStr)).toString());
}
]]>
</mx:Script>

<mx:Button label="获取日期" click="getDate(testXml.date)"/>

</mx:Application>
点击按钮会是什么结果?
结果是 Invalid Date
对代码进行改动:<mx:Button label="获取日期" click="getDate(testXml.date.toString())"/>
才可以正确获取到日期对象
总结:对于trace或者调试器会对对象自动进行toString()操作,而对于函数调用需要主动调用toString()方法


待续...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: