js中按位与运算符(&)
1.该运算符对它的运算数逐位执行布尔AND操作,只有两个运算数中相应的位都为1时,结果中的这一位才为1,它要求其运算数为整型,如果运算数不是整型,则会尝试将其转换为32位整型,如果无法转换,就返回NaN。
// 运算数均为整型
alert(9 & 9); // 9
alert(9 & 10); // 8
alert(1 & 3); // 1
// 运算数可以被转换为整型
alert([9] & '9'); // 9
alert([9] & ['10']); // 8
alert(1.25 & 3.25); // 1
// 一个或两个运算数均无法被转换整型
alert(1 & ['a']); // 0
alert({} & /\d/); // 0
alert(NaN & NaN); // 0
alert(Infinity & Infinity); // 0
alert(NaN & Infinity); // 0
alert(null & null); // 0
alert(undefined & undefined); // 0
alert(null & undefined); // 0
//----------------------------
2.JS中逻辑&&
例1:
以下是引用片段:
<Script>
var t = true;
var f = false;
with(document) {
write("<OL><LI>true && true 的结果是 ", t && t);
write("<LI>true && false 的结果是 ", t && f);
write("<LI>false && true 的结果是 ", f && t);
write("<LI>false && false 的结果是 ", f && f);
write("<LI>true && (1==1) 的结果是 ", t && (1==1));
write("<LI>false && 'A' 的结果是 ", f && 'A');
write("<LI>'A' && false 的结果是 ", 'A' && f);
write("<LI>true && 'A' 的结果是 ", t && 'A');
write("<LI>'A' && true 的结果是 ", 'A' && t);
write("<LI>'A' && 'B' 的结果是 ", 'A' && 'B');
//&&:有一个不是逻辑值,只要第一个操作数的值为flase,则返回第一个操作数的值flase,否则,返回第二个操作数的值
}
</Script>
温馨提示:内容为网友见解,仅供参考