2013-11-12 4 views
-1
options.domain ? '; domain=' + options.domain : '', 

Может кто-нибудь объяснить мне, что цель положить? после options.domain. Я знаю, что это просто. но я немного новичок в JS.Синтаксис Java Script

+0

Возможный дубликат [javascript? : нотация] (http://stackoverflow.com/questions/3322704/javascript-notation) –

ответ

0

Это называется ternary operator?: (одиночная линия if..else заявление)

Синтаксис:var variableName = testCondition ? op1 : op2;

Я думаю, вы пропустили назначенный переменной

var dom = options.domain ? '; domain=' + options.domain : ''; 

эквивалентно

if (options.domain) { 
    dom = '; domain=' + options.domain 
} 

else { 
    dom = ''; 
} 
+0

любая причина для downvotes? – Praveen

+0

Также вы должны взглянуть на это [** Правда, Равенство и JavaScript **] (http://javascriptweblog.wordpress.com/2011/02/07/truth-equality-and-javascript/) – Praveen

+0

Спасибо очень ... Правейн Джеганатхан –

0

Это известно как тройной оператор, по существу, они эквивалентны:

// Item 1 
var x = options.domain ? '; domain=' + options.domain : ''; 

// Item 2 
var x; 
if (options.domain) { 
    x = '; domain=' + options.domain; 
} else { 
    x = ''; 
} 
0

троичный оператор похож на простой, если другое заявление, как:

condition ? option1 : option2 ; 

является аналогично

if(condition) 
{ 
option1; 
} 
else 
{ 
option2; 
} 
0

Это аналогичный тип заявления if.

return condition ? x : y; 

троичной логики оператор является процесс использования "(condition) ? (true return value) : (false return value)" заявления укоротить если/другое конструкции.

0

Это называется ternary operator. Он возвращает одно из двух выражений в зависимости от условия.

Синтаксис:

test ? expression1 : expression2 

тест:

Любое логическое выражение.

выражение1:

Выражение возвращается, если тест верно. Может быть запятой.

выражения2:

Выражение возвращается, если тест является ложным. Более чем одно выражение может быть связано с выражением запятой.