我在as3中几乎是新手,我带来了一个双重声明,声明'如果'吼叫,做同样的想法?
public function get products(a:Object){
if(a){
// smtg
}
if(null!=a){
// smtg
}
}
Run Code Online (Sandbox Code Playgroud)
不,他们不一样.虽然它们在许多情况下表现相似,但是存在很大差异,第一种方法评估值,而第二种方法只检查值是否为空.
你可以看到这个例子的不同之处:
function test ( a:Object ):void
{
if ( a )
trace( "A" );
if ( a != null )
trace( "B" );
}
test( false ); // B
test( "" ); // B
test( 0 ); // B
test( true ); // A & B
// ...
Run Code Online (Sandbox Code Playgroud)
评估为false的所有值都将产生不同的结果.