帮助我理解变量设置

时间:2010-06-03 16:59:51

标签: javascript

var fmt = document.documentElement.clientWidth;
        var cls = (fmt<=240)?'pda_ver':(fmt>240&&fmt<=320)?'pda_hor':(fmt>320&&fmt<=640)?'screen_ultralow':(fmt>640&&fmt<=800)?'screen_low':(fmt>800&&fmt<=1024)?'screen_med':(fmt>1024&&fmt<=1280)?'screen_high':'screen_wide';

有人可以告诉我这是做什么的(只是用变量设置值的部分。我不明白...... ?:对于某个角色有什么作用) ?我从来没有见过这样的变量。这是条件变量设置吗?如果是,它是如何工作的?

working example

3 个答案:

答案 0 :(得分:10)

这是滥用ternary operator的可怕例子。

使用switch statement会更好看。

答案 1 :(得分:4)

这种结构在语言中有点普遍:

statement3 ? statement2 : statement1

它用于内联条件,它显示为:

if (statement3) {
  statement2;
} else {
  statement1;
}

答案 2 :(得分:1)

这是简写:

var cls;
if (fmt <= 240) {
  cls = 'pda_ver';
} else {
 if (fmt > 240 && fmt <= 320) {
   cls = 'pda_hor';
 } else {
 ....

等等