2011-01-03 10 views
2

in examples以外のタイプの比較については、AS3のドキュメントで実際に 'is'への参照を見つけることができないようです。おそらく、今私が持っている...AS3:is not not keyword?

をこれを行うことができませんが、このシナリオのために何かがあるはずのように思える:私が本当に言いたいことはあるので、これは愚かなようだ

if (event.target is Class) 
{   
} 
else 
{ 
    // What I really want to do! 
} 

。 ..

if (event.target isNot Class) 
{ 
    // Sure would be cleaner! 
} 

私はそうすることはできますか?

+0

Shurdoof正解です。私はちょうど、このコードのにおいがしたいと言いたかった。間違いなくよりクリーンで安全な選択肢があります。 – back2dos

+1

あなたが明確に気にしないなら、どういう意味ですか? – grey

+0

ActionScript 3.0のドキュメント「is」演算子は次のとおりです。http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/operators.html#is – Ergwun

答えて

14

なぜだけではなく、実行します。

if (!(event.target is Class)) 
{   
} 
+0

これはおそらく実行されます。 – grey

+0

私はあなたが別の方法を見つけることを疑う。 'is'は真または偽のブール値を返します。なぜなら、それらが本質的に同じことをする「isnot」も提供するのでしょうか? :) – adamk

+0

@adamk。あなたは別の方法がないという点で正しいです。しかし、 'isNot'や' is not'のようなものを持つのは完全ではないでしょう。結局のところ、 '=='が既にあるので、 '!='なしでやって 'if(!(a == b))'(コードを醜いものにしてしまいます。 –

1

オブジェクトのクラスを取得するには:すでに提供をテストするには

var targetClass:Class = Object(event.target).constructor; 

をターゲットとは、例えばテキストフィールドでない場合

if(Object(event.target).constructor != TextField){ 
    //not a textfield 
} 
関連する問題