Flash CS3 ドキュメンテーション |
|||
| ActionScript 2.0 の学習 > シンタックスと言語の基礎 > 演算子について > 数値演算子の使用 | |||
ActionScript で値を加算、減算、除算、または乗算するには、数値演算子を使用します。異なる種類の算術操作を実行できます。最も一般的な演算子はインクリメント演算子であり、一般的には i++ のように指定します。この演算子では、さらに実行できる操作があります。インクリメント演算子の詳細については、演算子を使用した値の操作を参照してください。
インクリメント演算子は、オペランドの前 ("事前インクリメント") または後 ("事後インクリメント") に追加できます。
// 例 1
var firstScore:Number = 29;
if (++firstScore >= 30) {
// トレースが必要
trace("Success! ++firstScore is >= 30");
}
// 例 2
var secondScore:Number = 29;
if (secondScore++ >= 30) {
// トレースは不要
trace("Success! secondScore++ is >= 30");
}
"例 1" のコードブロックはトレースしますが、"例 2" のコードブロックはトレースしません。最初の例では、事前インクリメント (++firstScore) を使ってインクリメントし、値が 30 以上かどうかをテストする前に firstScore を計算します。そのため、firstScore は 30 にインクリメントしてから、30 以上かどうかがテストされます。
しかし、例 2 では事後インクリメント (secondScore++) を使用し、テスト後に評価が実行されます。そのため、29 が 30 に対して比較され、評価後に 30 にインクリメントされます。
加算演算子を操作する場合、次の例のように、式で値を追加しようとすると、予期しない結果が生じることがあります。
trace("the sum of 5 + 2 is: " + 5 + 2); // 5 + 2 の合計 : 52
値 5 および 2 が加算されるのではなく、連結されます。この問題を回避するには、次のコードのように、式 5+2 をカッコで囲みます。
trace("the sum of 5 + 2 is: " + (5 + 2)); // 5 + 2 の合計 : 7
演算子の優先順位の詳細については、演算子の優先順位と結合性についてを参照してください。
外部ソース (XML ファイル、FlashVars、Web サービスなど) からデータをロードする場合は、数値演算子は非常に慎重に操作する必要があリます。SWF ファイルは数値のデータ型を認識しないので、数値がストリングのように扱われることがあります。この場合は、3 および 7 を加算し、結果が 37 になります。これは、両方の数値が数値として加算されず、ストリングのように連結されるためです。この状況では、Number() 関数を使用して、ストリングから数値にデータを手動で変換する必要があります。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000733.html