Предоставляет ли JScript троичный оператор? - PullRequest
3 голосов
/ 10 марта 2011

Есть ли у нас троичный оператор в Jscript (в отличие от JavaScript)? Если да, то каков синтаксис?

Ответы [ 4 ]

5 голосов
/ 10 марта 2011

Это

expression ? expression : expression

точно так же, как C. На самом деле это немного слабее, потому что JavaScript не является строго типизированным.Таким образом, две возможные «вилки» оператора могут привести к разным типам значений.

Таким образом:

alert(document.all ? "Hello from IE!" : "Hello from a non-IE browser!");

В большинстве случаев различия между ECMAScript от Microsoft и теми, что встречаются в другихбраузеры (или другие серверные среды) на самом деле не так хороши, и для обычного не-DOM-кода довольно редко приходится сталкиваться с такими вещами.

2 голосов
/ 10 марта 2011

да это так.

test ? expression1 : expression2
1 голос
/ 10 марта 2011

Пример:

var result = 5 > 10 ? '5 is greater than 10' : '5 is not greater than 10';
0 голосов
/ 10 марта 2011

Вы всегда можете использовать Google, чтобы найти синтаксис языка.

Первый результат, который я получил, был http://msdn.microsoft.com/en-us/library/be21c7hw%28v=vs.85%29.aspx. У него есть примеры, такие как

var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");
...