有没有比这更好的方法来检查一个值是空白还是空

Ste*_*ams 4 actionscript-3

我刚从另一个开发人员那里接管了一个项目,代码中有很多if语句:

if( value != null || value != "" || value != undefined )
{
    doSomeThing();
}
Run Code Online (Sandbox Code Playgroud)

虽然好,但到处使用时会有点混乱.有没有更好,更整洁的方式来写这个?我在想这个

if( value.length > 0 || value != undefined )
{
    doSomeThing();
}
Run Code Online (Sandbox Code Playgroud)

你们都觉得怎么样?

谢谢

斯蒂芬

Pat*_*ick 9

它几乎就是这样,但是if( value.length > 0 || value != undefined )当值null value.length正在尝试访问null值上的属性时,值会出现运行时错误TypeError:Error#1009 .

所以你必须在之前检查该值是非空的,例如:

if (value!=null&&value.length>0) {doSomeThing();}

或其他形式更短:

if ((value||"").length>0) {doSomeThing();}
Run Code Online (Sandbox Code Playgroud)

一个注意事项:除非值的类型是*,否则它不能取值undefined,它将是null.

var str:String=undefined;
trace(str==null); // will output true
Run Code Online (Sandbox Code Playgroud)