var C=D.exec(E)||H.exec(E)||F.exec(E)||E.indexOf("compatible")<0&&G.exec(E)||[];
if(I.test(E)&&!/chrome/.test(E)){
C[1]="safari";
C[2]=RegExp["$1"]||RegExp["$2"]
}
变量C 应该是bool值了吧,还能变数组么? 求详细解说:有参考的地址给一个
var C=D.exec(E)||H.exec(E)||F.exec(E)||E.indexOf("compatible")<0&&G.exec(E)||[];
这句是bool 运算后 赋值 还是有别的含义
var c = ......这句是一种赋值方式,赋值规则如下:
1、var v = null || false || 0 || undefined;//如果赋给v的值全部都是null或者false、undefined、0,不管后面有几个或者四者顺序如何,v的值都是最后那一个。也就是说,这里的v结果为undefined。如果将false写在最后,则v的值为false;同理,将null、0写在最后,v的值就是null、0;
2、var v = null || false || 0 || undefined || true || "a" || 1;//如果赋给v的值中有以上四者以外的值,那么第一个出现的值就是最终v的结果,即这里的v结果为true。当然,如果去掉true这一项,v的结果就是字符串a了;