十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
优先级:非与或
创新互联是一家专业提供德阳企业网站建设,专注与网站建设、成都网站建设、H5页面制作、小程序制作等业务。10年已为德阳众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
例如
if( !a!b || !cd ){
// (a、b为false) 或者 (c为false,d为true )
};
首先要弄清楚isNaN的意思。isNaN是判断是否为非数字,意思是如果不是数字,返回true,例如含有字母时;如果为数字,返回false。其次,你得逻辑是不对的,判断电话号码的时候要求必须是数字并且长度大于11,如果不符合以上条件,因该给提示,因此你想实现的应该是非数字或者长度小于11都给提示,所以应该用||。另外建议用正则表达式验证这些东西。网上有很多例子,自己可以研究一下写一个自己的公共验证JS。
(1)对于布尔值,只有都为true才返回true;
(2)对于不是布尔值的情况则:
如果第一个操作数是对象,则返回第二个数
eg:var str = new Array();
console.log(str8);//返回值为8
如果第二个操作数是对象,则只有在第一个操作数的求值结果为true的情况下才会返回该对象。
如果第两个操作数都是对象,则返回第二个数操作数。
如果有一个操作数是null,则返回null。
eg: console.log(8null);//返回结果为null
如果有一个操作数是NaN,则返回第NaN。
如果第一个操作数是undefined,则返回undefined。
(1)对于布尔值,逻辑或是非常简单的,只要有一个true,就返回true;
(2)对于不是布尔值的情况则:
如果第一个操作数是对象,则返第一个操作数
如果第一个操作数的求值结果为false,则返回第二个操作数
如果两个操作数都是对象,则返回第一个操作数
如果两个操作数是null,则返回null
如果两个操作数是NaN,则返回NaN
如果两个操作数是undefined,则返回undefined
如果一个操作数是一个对象,返回false;
如果一个操作数是一个空字符串,返回false;
如果一个操作数是一个非空字符串,返回false
如果一个操作数是一个数值0,返回true;
如果一个操作数是任意的非零字符,返回false;
如果一个操作数是null,返回true;
如果一个操作数是NaN,返回true;
如果一个操作数是undefined,返回true;
注:逻辑与,逻辑非都是从左向右判断,谁的第一个逻辑判断为true就显示谁,只不过逻辑非必须两个都为true,而且谁是第一个false就显示谁。
在JS“”和“||”是逻辑运算符;“”和“|”是位运算符。
1、运算表达的不同
只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。
JavaScript中的位运算符:“|”运算方法:两个位只要有一个为1,那么结果都为1。否则就为0
2、使用方式的不同
只要“”前面是false,无论“”后面是true还是false,结果都将返“”前面的值;只要“”前面是true,无论“”后面是true还是false,结果都将返“”后面的值;
3、运算逻辑的不同
按位与:ab是把a和b都转换成二进制数然后再进行与的运算;逻辑与:ab就是当且仅当两个操作数均为true时,其结果才为true;只要有一个为零,ab就为零。
扩展资料
js中的||的使用:
只有前后都是false的时候才返回false,否则返回true;
alert(2||1);//2
前面2是true,后面1也是true,结果是2;
alert('a'||1);//'a'
前面'a'是true,后面1也是true;测试结果是'a';
alert(''||1);//1
前面”是false,后面1是true,而返回结果是1;
alert('a'||0);//'a'
前面'a'是true,而后面0是false,返回结果是'a';
alert(''||0);//0
前面”是false,后面0同样是false,返回结果是0;
alert(0||'');//''
前面0是false,后面”是false,返回结果是”。
你是要位运算还是逻辑运算。
按位与
| 按位或
^ 异或
逻辑与
|| 逻辑或