js中的逻辑运算符

来源:互联网 发布:淘宝源 编辑:程序博客网 时间:2024/05/16 15:43

1、 [++i 与 i++]

其实这两个都是加1 只是先加和后加的问题;
  1. ++i 是先加1 然后在进行运算赋值
  2. i++ 是先运算然后在进行加1

* 例子*

var i=1;var a=i++;console.log(a);//1//////////////////////////var b=++i;console.log(b)//3

2 、 !与 !!

共同的一点是都是转换为boolean类型
  1. !—->先转换为boolean类型然后在取反
  2. !!—->直接转换为boolean类型

例子

console.log(!0)//trueconsole.log(!"")//trueconsole.log(![])//falseconsole.log(!1)//falseconsole.log(!"1")//falseconsole.log(!{})//false

3、 逻辑与&&

分两种其情况来判断:
1、 && 前后全部为布尔类型(只要有一个值为false那么返回的就是false,只有两个都是true的时候才会返回true)2、 普通的类型后者是其中有一个未布尔类型(只要&&前面的值转换为布尔值为false,返回的都是&&前面的值,如果转换为布尔值为true那么返回的是&&后面的值)

例如

    console.log(true && true);// true    console.log(false&& true);// false    console.log(true && false);// false    console.log(false && false);// false    console.log(0 && true);// 0    console.log(0 && false);//0    console.log(1 && false);//false

4、 逻辑 ||

分两种其情况来判断:
1、 || 前后全部为布尔类型(只要有一个值为true那么返回的就是true,只有两个都是false的时候才会返回false)2、 普通的类型后者是其中有一个未布尔类型(只要||前面的值转换为布尔值为true,返回的都是||前面的值,如果转换为布尔值为false那么返回的是||后面的值)

例如

console.log(false || false)//falseconsole.log(true  || false)//trueconsole.log(false || true)//true console.log(true  || true)//trueconsole.log(0     || false)//falseconsole.log(1     || false)//1console.log(2     || 1)//2