js 高手请进,关于var 的问题

varC=D.exec(E)||H.exec(E)||F.exec(E)||E.indexOf("compatible")<0&&G.exec(E)||[];if(I.t... 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值了吧,还能变数组么? 求详细解说:有参考的地址给一个
展开
 我来答
帐号已注销
2012-02-17 · TA获得超过4630个赞
知道大有可为答主
回答量:1345
采纳率:50%
帮助的人:1634万
展开全部
js是所类型语言,声明变量时都是用var,然后可以赋给这个变量任何值,不管是什么类型。你给它整数型,它能存储,你给它字符串型,它也能存储。如果声明的是一个数组,那么这个数组的元素可以是任何类型,这个数组可以同时保存各种类型。 虽然如此说,但js只是弱类型,而非没有类型。使用typeof可以查看数据的类型。例如,alert("1"),弹出的是string,而alert(1)则弹出number。 关于弱类型,如下代码: var i=1;//整数型 i="string";//赋给字符串数据,没有问题 i=[1,"a",new Date()];//数组,可以保存不同类型的数据 如上代码可以写在同一个方法,不需要重新定义i。
追问
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了;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式