JavaScript - 运算符

算术运算符

<script>
	console.log( 5 + 2 )  // 5 + 2 = 7
    console.log( 5 - 2 )  // 5 - 2 = 3
    console.log( 5 * 2 )  // 5 X 2 = 10
    console.log( 5 / 2 )  // 5 / 2 = 2.5
    console.log( 5 % 2 )  // 5除以2的余数  5 % 2 = 2 余 1   结果是 1
    // m % n  结果永远在 0 ~ n-1 之间
</script>

赋值运算符

<script>
	var a = 10
	a += 5     // 相当于  a = a + 5    = 15
	a -= 3     // 相当于  a = a - 3    = 7
	a *= 3     // 相当于  a = a * 3    = 30
	a /= 6     // 相当于  a = a / 6    约等于 1.7
	a %= 4     // 相当于  a = a % 4    = 2
</script>

自增 ++

<script>
	let i = 1
	i++                 // 在原有值的基础上加1
	console.log( i )    // 2
    
    let a = 1
    let b = a++        // 先把 a 原来的值赋值给 b, 然后 a 再加1
    console.log(a, b)  // 2 1
    
    let m = 1
    let n = ++m        // 先让 m 加1, 然后再把 m 新的值赋值给 n
    console.log(m, n)  // 2 2
</script>

自减 –

<script>
	let i = 1
	i--                // 在原有值的基础上减1
	console.log( i )   // 0
    
    let a = 1
    let b = a--        // 先把 a 原来的值赋值给 b, 然后 a 再减1
    console.log(a, b)  // 0 1
    
    let m = 1
    let n = --m        // 先让 m 减1, 然后再把 m 新的值赋值给 n
    console.log(m, n)  // 0 0
</script>

比较运算符

比较的结果是 布尔值(boolean)

<script>
    console.log( 5 > 2 )    // 大于 (true)
    console.log( 5 < 2 )    // 小于 (false)
    console.log( 5 == 2 )   // 等于 (false)
    console.log( 5 != 2 )   // 不等于(true)
    console.log( 5 >= 2 )   // 大于等于(true)
    console.log( 5 <= 2 )   // 小于等于(false)
    
    console.log( 7 == '7')  // true  字符串转为数字, 再比较,所以相等
    console.log( 7 === '7') // 全等于(false) 要求符号两边类型一致, 左边数值,右边字符串,所以不相等
</script>

逻辑运算符

与 &&

真真为真: 两边同时为真, 结果才为真

一假为假: 只要有一边为假, 结果就为假

<script>
    console.log( true && true )   // true
    
    console.log( false && true )  // false
    console.log( true && false )  // false
    console.log( false && false ) // false 
  
    // 如果两边不是布尔值, 运算结果 就是对结果起最后决定作用的那个值
    console.log( 5 && 7 ) // 7
    console.log( 5 && 0 ) // 0
    console.log( 0 && 7 ) // 0    
</script>

或 ||

一真为真: 只要有一边为真, 结果就为真

假假为假: 两边同时为假, 结果才为假

<script>
	console.log( true || true )  // true
	console.log( true || false ) // true
	console.log( false || true ) // true
	
	console.log( false || false ) // false
	
    // 如果两边不是布尔值, 运算结果 就是对结果起最后决定作用的那个值
    console.log( 0 || 'love' )  // love
    console.log( 'love' || 0 )  // love
</script>

非 !

真变假, 假变真: 取反, 真的反面是假, 假的反面是真

<script>
    console.log( !true )  // false
    console.log( !false ) // true
</script>

逻辑运算的计算结果

1.一般情况下 逻辑运算结果 是 布尔值

2.JS中, 逻辑运算符两边, 哪一边对最终结果起决定作用, 就把那个值作为整个逻辑运算的结果.

<script>
    // 逻辑运算的结果, 是最终起决定作用的那个值
    console.log( true && 7 ); // 7
    console.log( 7 && true ); // true
    console.log( false && 7); // false
    console.log( 7 && false); // false

    // 逻辑运算的结果, 是最终起决定作用的那个值
    console.log( true || 7 ); // true
    console.log( 7 || true ); // 7
    console.log( 7 || false); // 7 
</script>

与短路

案例1:

<script>
    let a = ( 5 < 2 ) && alert('今天不用写作业')
    
    /*
        5<2 为假,  &&后面的代码不管是真或假, 整个结果都是假 (与运算的特点)
        所以, 警告弹窗代码不会执行.
    */
</script>

案例2:

<scrpit>
	let a = 5
    let b = (7<3) && (a = 9);
    console.log( a )  // 5
                  
    /*
        7<3 为 false, 与运算中,一边为假,结果就是假, 右边不用算, 所以(a=9)没有执行 
    */
</scrpit>

或短路

案例1:

<script>
    let a = ( 5 > 2 ) || alert('今天不用写作业')
    
    /*
        5>2 为真,  ||后面的代码不管是真或假, 整个结果都是真 (或运算的特点)
        所以, 警告弹窗代码不会执行.
    */
</script>

案例2:

<scrpit>
	let a = 5
    let b = (7>3) || (a = 9); // let b = true || false
    console.log( a )  // 5
    
    /*
        7>3 为 true, 或运算中,一边为真,结果就是真, 右边不用算, 所以(a=9)没有执行 
    */
</scrpit>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值