JavaScript中的?:语法是什么?

时间:2015-07-27 04:31:13

标签: javascript

对于以下行是什么意思?

T = ($("#a .b").hasClass("active") ? "C" : "D") ;

$("#a .b").hasClass("active")表示#a .b是否存在?但? "C" : "D"怎么样,它是某种比较逻辑吗?

2 个答案:

答案 0 :(得分:4)

这是ternary operator

condition ? expr1 : expr2 

如果condition为true,那么expr1将返回,否则expr2将返回。

所以,在你的情况下:

T = ($("#a .b").hasClass("active") ? "C" : "D") ;
如果T"C"分类,那么

$("#a .b")变量将保留active,否则它会保留"D"

答案 1 :(得分:1)

它告诉你:

if ( $("#a .b").hasClass("active") ) {    
   T = "C";
} else {
   T = "D"
}

您可以在此阅读此文档以进一步了解。 Ternary Operator