今天又遇到问题,我在判断一个对象:
if(vsIndex.selectedIndex==2 && dayReportDetail) { //dayReportDetail.dayReportId = dayReportView.dayReportId; DitemService.getDitemList(dayReportView.dayReportId); Alert.show("创建已经完成"); }
我本意是如果这个已经创建,才进入语句块,但是奇怪的是,在dayReportDetail未创建时,居然代码进入到这个if语句块中。
我再判断如果
if(dayReportDetail)居然也能进入语句块
再判断
if(dayReportDetail !=null)居然也能进入。我擦。。。
翻文档,发现这么几句代码:
var someObj:Object;var someObj:*; var someObj;第一句:定义一个Object的变量。
第二句和第三句一样。无变量类型,可以保存undifend类型的
想起在本变量并未创建时,应该为undifend吧~
因此,他不为Null。
后来在dayReport中加了个flag用来判断是否创建的变量。