我刚从另一个开发人员那里接管了一个项目,代码中有很多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)
你们都觉得怎么样?
谢谢
斯蒂芬
它几乎就是这样,但是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)