JavaScript运算符

JavaScript运算符

一、算数运算符

JavaScript中的算数运算符主要有:+ 、- 、 * 、 / 、 ++ 、 -- 、 %

console.log(1 + 2)  // 3
console.log('1' + 2) // 字符串参与的加其实是拼接 '1'  + '2'   -> '12'
console.log(+8) // 8
console.log('12' - 2) // 12 - 2 -> 10
console.log(20 * 2) // 40
console.log(4 / 3) // 
console.log(4 / 2) 

自增运算符和自减运算符相似,下面看一个例子即可:

let x = 5
//let y = x++ // x++整体赋值给y,用的是x原有的值
let y = ++x // ++x整体赋值给y,用的是x加1后的值
// x++ // 让x在原有基础上加1
// ++x // 让x在原有基础上加1
console.log(x) // 6
console.log(y) // 6

let i = 3,
j = 4,
k   //一次性定义三个变量
++i
j++
k = j++
console.log(i, j, k) // 4 6 5

// % 取模运算符
console.log(4 % 2) // 0
console.log(4 % 3) // 1
let num = 25
console.log(num % 5 == 0)

二、关系运算符

JavaScript中关系运算符有  >  < >=  <=  ==  === !=  !==

    console.log(3 > 2) // true
    console.log(10 <= 10) // true
    // == 不严格等于,只要内容相同即可
    console.log(5 == 5) // true
    console.log(5 == '5') // true
    // === 严格等于,内容与类型都需要一样
    console.log(5 === 5) // true
    console.log(5 === '5') // false

下面认识一下不容易分清楚的null和undefind的区别

    console.log(null == null) // true
    console.log(NaN == NaN) // false
    console.log(undefined == undefined) // true
    console.log(null === null) // true
    console.log(NaN === NaN) // false
    console.log(undefined === undefined)
    console.log(null == undefined) // true
    console.log(null === undefined) // false
    


    /* null 和 undefined 区别
    1.null是空值,以后会指向引用类型的数据,undeined是未定义值,就是undefined
    2.Number之后的数值不相, null是0,undefined是NaN
    3.不严格等号状态下,两者相等,严格状态下,两者不相等 */




    console.log(5 != '5') // false 对==的否定
    console.log(5 !== '5') // true 对===的否定

三、逻辑运算符

JavaScript中的 逻辑运算符有 &&(与) 、||(或)、 !(非)     

//  表达式1&&表达式2

      //  判断表达式1的值,转布尔类型假如为true,直接返回表达式2的值

      // 表达式1的值转布尔类型假如为false,直接返回表达式1的值,

      console.log(5 > 3 && 10 < 5) // true&&false  false

      console.log(5 > 3 && 10 > 5) //  true&&true true

      console.log(5 == 3 && 10 < 5) // false&& false false

      console.log(5 && 6) // 6

      console.log(10 > 8 && 0) // 0

      console.log('' && 100) //''

      // 逻辑与短路现象

      // 表达式1的值转布尔类型假如为false,直接返回表达式1的值,此时不会执行表达式2的值

      let i = 3

      console.log(null && ++i)

      console.log(i) //3

// 表达式1 || 表达式2
      //  判断表达式1的值,转布尔类型假如为true,直接返回表达式1的值

      // 表达式1的值转布尔类型假如为false,直接返回表达式2的值,

      console.log(5 > 3 || 10 < 5) //

      console.log(5 > 3 || 10 > 5) //

      console.log(5 == 3 || 10 < 5) //

      console.log(5 || 6) // 5

      console.log(10 > 8 || 0) // true

      console.log('' || 100) // 100

      let j = 3

      console.log(null || ++j)

      console.log(j) //4
// 非 !
      console.log(!true)

      console.log(!0)

      let num = 'hello'

      console.log(!!num) // true

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值