JS学习Day5之运算符

算数运算符

算数运算符概述

console.log(1 + 1);//返回2
console.log(1 - 1);//返回0
console.log(1 * 1);//返回1
console.log(1 / 1);//返回1
console.log(3 % 2);//返回1

浮点数的精度问题

// 浮点数的精度问题
console.log(0.1 + 0.2);// 返回 0.30000000000000004
console.log(0.07 * 100);// 返回 7.000000000000001
var num = 0.1 + 0.2;
console.log(num == 0.3);// 返回 false

表达式和返回值

  • 表达式:是数字、运算符、变量等的有意义排列的组合

  • 返回值:表达式得出的一个结果

前置递增运算符

  • 注意:递增和递减运算符必须和变量配合使用

  • ++num 前置递增,就是自加1,类似于 num = num + 1

// 前置递增(减)运算符
var num = 10;
++num;
console.log(num);// 返回 11
var p = 10;
console.log(++p);// 返回 11 (先加1 后返回值)

前置递增运算符

// 后置递增(减)运算符
var age = 10;
age++;
console.log(age);// 返回11
var o = 10;
console.log(o++);// 返回 10 (先返回值 后加1)
console.log(o);// 返回 11

比较运算符

比较运算符概述

  • 比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true/false)作为比较运算时的结果
// 小于号
console.log(3 < 5); // 输出true
// 大于号
console.log(3 > 5); // 输出false
// 小于等于号
console.log(3 <= 5); // 输出true
// 大于等于号
console.log(3 >= 5); // 输出false
// 判等号(会转型,默认转换类型,会把字符串的数据类型转换为数字型,是隐式转换)
console.log(3 == 5); // 输出false
console.log('3' == 3); // 输出true
// 不等号
console.log(18 != 18); // 输出false
// 全等/全不等(要求两侧的值和数据类型都一致)
console.log(3 === 3); // 输出true
console.log('3' === 3); // 输出false
console.log(3 !== 3); // 输出false
console.log('3' !== 3); //输出true

逻辑运算符

逻辑运算符概述

  • 逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值,后面开发中经常用于多个条件的判断
// && 与(and)
console.log(3 > 5 && 3 > 2);// 输出false(假真)
console.log(3 < 5 && 3 > 2);// 输出true(真真)
console.log(3 > 5 && 3 < 2);// 输出false(假假)
// || 或(or)
console.log(3 > 5 || 3 > 2);// 输出true(假真)
console.log(3 < 5 || 3 > 2);// 输出true(真真)
console.log(3 > 5 || 3 < 2);// 输出false(假假)
// !非,取反(not) 
console.log(!true);// 输出false

短路运算(逻辑中断)

  • 原理:当有多个表达式(值)时。左边的表达式可以确定结果时,就不再继续运算右边表达式的值

逻辑与短路运算

  • 语法:表达式1 && 表达式2

  • 如果表达式1的值为真,则返回表达式2

  • 如果表达式1的值为假,则返回表达式1

  • 注意:0 、’ '、undefined、null、NaN 为假,其它的都为真

console.log(123 && 456);// 输出456
console.log(0 && 456);// 输出0
console.log(0 && 1 + 2 && 456 * 56789);// 输出0
console.log('' && 1 + 2 && 456 * 56789);// 输出''

逻辑或短路运算

  • 语法:表达式1 || 表达式2
  • 如果表达式1的值为真,则返回表达式1
  • 如果表达式1的值为假,则返回表达式2

赋值运算符

赋值运算符概述

// = (直接赋值)
var num = 10;
// += (加一个数后再赋值)
num += 2;// num = num + 2;
console.log(num);// 输出12
// -= (减一个数后再赋值)
num -= 2;// num = num - 2;
console.log(num);// 输出10
// *=、/=、%= (乘、除、取模后再赋值)

运算符的优先级

  • 从上到下,优先级降低:
    1. 小括号
    2. 一元运算符( ++ 、–、! 只有一个操作数)(!的优先级很高)
    3. 算数运算符(先 *、/、% 后 +、-)
    4. 关系运算符
    5. 相等运算符
    6. 逻辑运算符(先 && 后 ||)
    7. 赋值运算符
    8. 逗号运算符(, 集体赋值变量时用)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值