js 运算符 |= 是什么意思

没有写错,原文是这样的:

//checkStrong函数
//返回密码的强度级别
function checkStrong(sPW){
if (sPW.length<=5)
return 0; //密码太短
Modes=0;
for (i=0;i<sPW.length;i++){
//测试每一个字符的类别并统计一共有多少种模式.
Modes|=CharMode(sPW.charCodeAt(i));
}
return bitTotal(Modes);
}

第1个回答  2013-02-26
OR
j |= 1;
就是j和1按位或后赋值给j

参考资料:http://www.ostools.net/commons?type=6

第2个回答  2013-02-26
或等符号
例如a |= 5
等价于 a = a|5
或运算(位运算)的方法:
1|1=1
1|0=1
0|1=1
0|0=0追问

请问这个或等号有什么用,我还是有点不懂,可以再具体点吧。谢谢了。。

追答

Modes|=CharMode(sPW.charCodeAt(i));

这句就是等于
Modes=Modes|CharMode(sPW.charCodeAt(i));

按位或操作与加减乘除等都属于基本的运算方法,运算法则如上4条

追问

Modes |=CharMode(sPW.charCodeAt(i));) 难道 就是

Modes=Modes

或者

Modes=CharMode(sPW.charCodeAt(i));)

吗?

追答

你说的是逻辑或符号为||
而题目中是位或是一种基本的计算类型公式如下
1|1=1
1|0=1
0|1=1
0|0=0
你需要将两个数换成二进制,然后每一位运用上面的公式进行计算
例如3|4的计算方法为
3=011B
4=100B
3|4=011|100=111=7
不会算就用计算器3|4计算方法是按3然后按or然后按4最后按=得出结果

本回答被提问者采纳
第3个回答  2013-02-26
!=这个吧,不等于
第4个回答  2013-02-26
你确定你没有写错吗?
第5个回答  2013-02-26
报错!!!!!!!!!!!!SB
相似回答