由这段代码发出的疑问
a.innerHTML=a.innerHTML=="关灯"?"开灯":"关灯";

解决方案 »

  1.   

    a.innerHTML=a.innerHTML=="关灯"?"开灯":"关灯";
    相当于
    var str = (a.innerHTML=="关灯"?"开灯":"关灯");
    a.innerHTML = str;==是判断用的  =是赋值用的
      

  2.   

    a.innerHTML=a.innerHTML=="关灯"?"开灯":"关灯";
    =是赋值
    ==是判等
    后面是三元操作符
      

  3.   

    这是三元运算符
    相当于:
    if(a.innerHTML=="关灯")
    {
      a.innerHTML=="开灯";
    }
    else a.innerHTML=="关灯";
      

  4.   

    相当于:
    if(a.innerHTML=="关灯") //条件判断
    {
      a.innerHTML="开灯"; //付值
    }
    else a.innerHTML="关灯";
      

  5.   

    = 赋值运算符 
    == 等于 
    === 严格等于 
    例: 
    var a = 3; 
    var b = "3"; a==b 返回 true 
    a===b 返回 false 因为a,b的类型不一样 
    ===用来进行严格的比较判断
      

  6.   

    a.innerHTML=                       //赋值
    (                                  //三元操作, "boolean值是" ? "True返回" : "false返回"
      (a.innerHTML=="关灯")            //当前a.innerHTML是等于"关灯"
        ?
          ("开灯"):                    //是则返回字符串“开灯”
          ("关灯")                     //否则返回字符串“关灯”
    );
      

  7.   


    a.innerHTML =                               //赋值
    (                                           //三元操作, "boolean值是" ? "True返回" : "false返回"
      (a.innerHTML=="关灯")                     //条件a.innerHTML是否等于"关灯"
      ?
      ("开灯"):                                 //条件TRUE则返回字符串“开灯”
      ("关灯")                                  //条件FALSE则返回字符串“关灯”
    );
      

  8.   

    a.innerHTML=a.innerHTML=="关灯"?"开灯":"关灯";将=理解为赋值予  理解成单方向的  == 是等于 这句的意思是说  a.innerHTML的值如果是关灯就显成开灯  轮换这样的效果  三元运算符