a=a||1;当没有给函数传参数时 a是空
所以要么是传近来的值  要是没传a就等于1

解决方案 »

  1.   

    只能说大致相等。
    a=a||1; 该运算符先计算a的值,如果a是false或者能转化成false(如null,undefined,NaN)
    则返回右边表达的值,否则返回左边表达式的值。
    a=a==undefined?1:a; 表示如果a==undefined(注意null==undifined为true)为true,则返回1,否则返回a。
    也就是说,除了a是false或者是NaN外,两条式子结果相同。
      

  2.   

    a=a||1 -> a=a?a||1
    a==undefined?和a?应该是有区别的