本帖最后由 zhangrun1 于 2014-06-05 14:59:50 编辑

解决方案 »

  1.   

    如果前面为假,就执行后面alert(0||'s');
    alert(''||'s');//以上弹出s,你应该了解前面转为false的情况,而不仅仅是未找到属性
      

  2.   

    $("#dept").attr("deptId")||"-1" -> 当$("#dept").attr("deptId")为null或者undefined的时候返回"-1"
    || 只是个或运算符
      

  3.   

    这是为变量设置默认值的一种方法,原理是:表达式A || 表达式B 的工作原理是:如果A的值为true(或A的值可以被当做为true)就返回A的值并且不执行表达式B,否则执行表达式B并且返回B的值javascript中0 "" null undefined会被当做为false,其实的值都可以被当做为true如:a = a || "-1"
    当a没有被赋值时,就把a赋值为"-1",否则a的值不变。
      

  4.   

    跟jquery没啥关系,是JS的一个特性,具体的楼上意见说了.值得一提的是有对应的&&function check(){
    return true;
    }function fun(){
    alert(1)
    }if(check()){
    fun();
    }
    等同于
    check() && fun();意思是当&&左边返回真时才执行右边的