JS运算符、判断

76 阅读2分钟

运算、判断

运算

算数运算符

// + - * /
//字符串拼接:只要 “+” 任意一边是字符串类型,就会进行字符串拼接
//加法运算:只要 “+” 两边是数字的时候,才会进行数学运算
//其他运算:遇到非数字类型时,会将其转换成数字类型(隐式转换),然后在进行运算
console.log(1 + 1)
console.log(1 + 2)
a += 5    --->     a = a + 5console.log(2 - 1)
console.log(2 - '1')
a -= 5    --->     a = a - 5console.log(3 * 1)
console.log(3 * '1')
a *= 5    --->     a = a * 5console.log(4 / 1)
console.log(4 / '1')
a /= 5    --->     a = a / 5console.log(5 % 2)
console.log(5 % '2')
a %= 5    --->     a = a % 5

逻辑运算符

逻辑与 &&

//特性:符号左边的值,如果为真(转换为布尔类型后为true),则返回右边的值,如果为假,返回自身
console.log(1 && 3)                         // 1的值为true,所以返回3
console.log(0 && 3)                         // 0的值为false ,所以返回0
console.log(true && 'abc')                  // true ,所以返回值为字符串 abc
console.log(false && 'abc')                 // false, 所以返回值为false

逻辑非 ||

//特性:符号左边的值,如果为真(转换布尔类型后为true),则返回自身,如果为假,返回右边的值
console.log(1 || 3)                         // 1的值为true,所以返回1 
console.log(0 || 3)                         // 0的值为false,所以返回3

取反 !

//返回值:将值转换为布尔类型后,做一个取反的操作,也就是true的话会变成falsefalse会变成true
console.log(!1)                 // 1的值为true,取反为false,所以返回值 为false
console.log(!0)                 // 1的值为false,取反为true,所以返回值 为true
console.log(!true)              // true取反为false,所以返回值 为false

自增 ++

// ++值:会先将自身+1,然后参与运算
var a = 1    
console.log(++a)    
console.log(a)          //2  2//  值++:会先参与周围运算,然后将自身的值+1
var a = 1    
console.log(a++)    
console.log(a)          //1  2

自减 --

// --值:会先将自身-1,然后参与运算
var a = 1    
console.log(--a)    
console.log(a)          //0  0//  值--:会先参与周围运算,然后将自身的值-1
var a = 1    
console.log(a--)    
console.log(a)          //1  0

判断

判断相等

//判断符号两边的值是否相等,相等时返回true,不相等返回false
    // =    为赋值
    // ==   为等于
    // ===  为全等,判断时候不会左隐形转换,还会判断类型
console.log(1 == 1)                     //1相等 所以返回true
console.log(1 == '1')                   //1 等于 '1'的内容 所以返回true
console.log(1 === '1')                  //1'1'的数据类型不一致,所以返回false

判断不相等

//判断符号两边的值是否不相等,不相等时返回true,相等返回false
    //!=    不会对比数据类型
    //!==   会对比数据类型
console.log(1 !== 1)                    //1相等,所以返回false
console.log(1 !== '1')                  //1 等于 '1'的内容  所以返回false
console.log(1 !=== '1')             //1'1'的 数据类型不一致,所以返回true