2

こんにちは私は、条件がショートハンドjavascript内で満たされた場合に、複数の関数またはメソッドを実行するための良い方法があるかどうか疑問に思っています。

私はこれを試しましたが、機能しません:

!gameView?launchFull(); alert('action 2'):returnView();
4

3 に答える 3

7

それできますか?はい。
実例

var x = true;
!x?(alert('true 1'),alert('true 2')):(alert('false 1'),alert('false 2'));

セクションの周りの括弧に注意してください。

しかし、あなたはそれをすべきですか?いいえ

于 2012-09-13T22:02:33.767 に答える
6

良い方法があれば

いいえ。

三項演算子は、単純な「If A x = y ELSE x=z」を実行するための良い方法です。それを超えようとすることは、読めない混乱を生み出す良い方法です。

適切なを使用してくださいif { } else { }

読みやすさは、短さよりもはるかに価値があります。

于 2012-09-13T21:55:19.930 に答える
0

あなたはこのようにすることができます。

関数m(){alert( "i am M");}

関数k(){alert( "i am K");}

関数l(){alert( "i am L");}

m.call();

var func = 1 === 1?l:k;

func.call();

Funcはデリゲートとして機能し、呼び出しが行われると、変数に関連付けられた関数があります

于 2012-09-13T21:58:07.467 に答える