【JavaScript】运算符相关笔记

1、括号

被括号包裹的表达式会优先执行

/*在js代码执行时括号运算符会优先执行*/
let a = 10,
	b = 2,
	c = 3;
	
let expression = a * (b + c);

console.log(expression);//50

2、一元运算符

一元运算符包括 ++,--,!

+ + 运算符(自增运算符)

自增运算符分为前自增后自增
- 前自增:先自增,然后参加运算
- 后自增:先参加运算,然后自增

代码:

/*前自增*/
let num = 10;
console.log(++num);//11

/*后自增*/
let num1 = 10;
console.log(num1++);//11

----------------------------------------------
//前自增与后自增的区别
let a = 10,
    b = 10;
console.log('和为:'+parseInt(b+(++a)));//21----先自增再运算
console.log('a:'+a);//11

let c = 10,
    d = 10;
console.log('和为:'+parseInt(d+c++));//20----先运算再自增
console.log('c:'+c);//11


- - 运算符(自减运算符)

自减运算符和自增运算符类似,分为前自减后自减 ,自减特性和自增相似

!运算符(逻辑非)
/*! 运算符表示取反(反转表达式运算真假值)*/
let bool = true;
	console.log(!bool);//false;

let num = 10;
	console.log(!num);//false;

let num1 = 0;
	console.log(!num1);//true


3、算数运算符 (=-*/%)

执行表达式的加减乘除以及取模操作

let num = 10;
	console.log(num+10*10-50);//60
	
	//%取模(取除法运算后的余数)---执行优先级大于+-
	console.log(num%3);//1
	console.log(num%2);//0

4、关系运算符(>,>=,<,<=)

let num1 = 10,
	num2 = 20,
	num3 = 10;

	console.log(num1 > num2);//false
	console.log(num2 > num3);//true
	console.log(num2 >= num3);//true
	·······

5、相等运算符 😃

相等运算符,

//相等运算符

let num = 10,
	num1 = '10';
	
//==运算符两边的表达式结果相等则返回true,不限制类型(类型不一定相同)---等于运算符
console.log(num == num1);//true
//===运算符两边的表达式结果相等则返回true,限制类型(类型必须相同)-----全等运算符
console.log(num === num1);//false
//!=运算符两边表达式结果不同则返回true,相同返回false,不限制类型
console.log(num != num1);//false
//!==运算符两边的表达式结果不相等则返回true,相等返回false,限制类型(类型必须相同)
console.log(num !== num1);//true

6、逻辑运算符 (&&,||)

逻辑与 &&,逻辑或 ||

在js逻辑运算中,0、""、null、false、undefined、NaN都会判为false,其他都为true

/*如果时&&,则直接找false,有false直接返回false,没有则返回true*/
	console.log(false&&false);//false
	console.log(true&&true);//true
	console.log(false&&true);//false
/*如果是||,则直接找true,有则直接返回true,没有返回false*/
	console.log(false||true);//true
	console.log(true||true);//true
	console.log(false||false)//true

结合逻辑中断来看

逻辑中断

  • 逻辑与中断
/*逻辑与中断*/
let un;//undefined
let a = 10,
	b = true;

console.log(un&&a&&b);//undefined
console.log(b&&un&&a);//undefined
console.log(100&&a&&b);//true

逻辑与运算过程中,如果有表达式结果为false,则直接返回该表达式,否则直接返回运算式最后的表达式


  • 逻辑或中断
/*逻辑或中断*/
let un;//undefined
let a = 10,
   b = true;

console.log(un||a||b);//10
console.log(b||un||a);//true
console.log(false||0||un);//undefined

逻辑与运算过程中,如果有表达式结果为true,则直接返回该表达式,否则直接返回运算式最后的表达式



7、赋值运算符 =

将运算符左边表达式的值赋值给左边的变量
当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。

  • 扩展赋值运算符(+=,-=,*=,/=,%=)
let num = 100;
	num += 10;//相当于 num = num + 10;
	console.log(num);//110

	num -= 10;//相当于 num = num - 10;
	console.log(num);//100

	num *= 10;//相当于 num = num * 10;
	console.log(num);//1000

	num /= 10;//相当于 num = num / 10;
	console.log(num);//100

	num %= 10;//相当于 num = num % 10;
	console.log(num);//0

8、逗号运算符

作用是将若干表达式连接起来,优先级式所有运算符中优先级最低的

let a = 1 ,b = false, c = a + 10;
console.log(a,b,c)//1 false 11


9、运算符优先级

优先级运算符顺序
1小括号()
2一元运算符++ -- !
3算数运算符先* / %后+ -
4关系运算符> >= < <=
5相等运算符== != === !==
6逻辑运算符先&& 后|| (实际上会因为逻辑中断而有所不同,从左至右执行)
7赋值运算符= 扩展:+= -= *= /= %=
8逗号运算符
  • 一元运算符里面的逻辑非优先级更高
  • 逻辑与比逻辑或优先级更高

--------end--------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值