JavaScript之运算符篇

1. 运算操作符
(1)+:

加号,它的作用是数字运算和字符串连接,例如

	var a = 1 + 2;
	document.wirte(a)  //结果得3    
	var a = “a” + “b”;
	document.wirte(a)  //结果得字符串“ab”   

注: 任何数据类型加字符串都等于字符串 。

	var a = 1 + “a”;
	document.wirte(a)  //结果得字符串“1a”   
	var a = “a” + 1 + 1;
	document.wirte(a)  //结果得字符串“a11”   
	var a = 1 + 1 + “a” + 1 + 1;           
	document.write(a)  //打印2a11,从左向右运算  
	var a = “a”+ true + 1;                        
	document.write(a)  //打印 atrue1   
	var a = 1 + 1 + “a” +( 1 + 2);                         
	document.write(a)  //打印 2a3   

注:计算机的运算顺序也和数学一样

(2) - 和 * 和 / :
  • -减号,例如
	var a = 3 - 1;                  
	document.write(a)  //打印 a 得到 2     
  • *乘号,例如
	var a = 2 * 1;                      
	document.write(a)  //等于 2      
  • /除号,例如
	var a = 0 / 0;                            
	document.write(a)  //答案是 NaN     

应该得出一个数字类型的数,但是没法表达, 就用NaN (NaN 是Not a Number) 非数,不是数,但是是数字类型

	var a = 1 / 0;                       
	document.write(a)  //是 infinity       
	var a = -1 / 0;                            
	document.write(a)  //答案是 -infinity        

注:我们知道在数学运算上 0 是不能做为被除数的,但在计算机里是可以的,并且根据不同的除数还会得到不同的值当除数为正数时得 infinity (正无穷),当除数也为 0 时,即 0 / 0 时得 NaN (非数),当除数为负数时得 -infinity (负无穷),且 infinity-infinityNaN均为数字类型。

(3) % 和 = 和() :
  • %摩尔,就是求余,例如
	var a = 5%2;
	document.write(a)  //5%2 是五除二的余数,商二余一         
	var a =5%1                                         
	document.write(a)  //是五除一的余数,结果是 0       
	var a = 1%5;               
	document.write(a)   //意思是1 除以 5 的余数。商 0余 1        
	var a=4%6;             
	document.write(a)   //意思是4 除以 6 的余数。商 0余 4       
  • = 等号:赋值 。
  • ( ):有括号的先算括号里边的。

注:“-”,“*”,“/“,“%”,”=“,“()” 优先级”=“最弱【赋值符号优先级最低】,”()”优先级较高 。

(4)“++”,“- -”,” +=“,“-=”,“ /=“,“*=”,“ %=” :
  • ++:例如 a=a+1 就可以简写成 a++,a=a+1 他是先计算右边的在把值赋到左边去, 就是 a+1 再赋给 a,就是自身+1 再赋给自身就叫++。
    例如:
  • “- -”:例如 a=a-1 就可以简写成 a- -,就是自身-1 再赋给自身就叫- -。

注意:++和–位置还不太固定,可以放前边也可以放后边,以++为例,有个 a++和++a, 他们的区别是先++还是后++,比如说:

	var a=10;document.write(a++);         
	document.write(a);   //打印第一个 a 得 10,打印第二个 a 得 11

解析:++放在后边(a++)就是先执行语句后++,也就是第一次先把 a 打印出来然后再 ++,所以第一次打印 a 得 10,然后++,第二次打印 a 得 11

	var a=10;
	document.write(++a); 
	document.write(a);   //打印第一个 a 得 11, 打印第二个 a 得 11

解析:++放在前边(++a)就是先++再执行语句,就是先++然后把 a 打印出来,所以第 一次打印得到 11,第二次打印也得到 11

	var a =10;
	var b = ++a - 1 + a++;
	document.write(b + “ ” + a)   //得 21  12  

解析:赋值的顺序是自右向左,计算的顺序是自左向右,此例中,打印 b 和 a(“ ”是 空格),起初 a=10,然后计算 b,++a,先++后执行语句,此时 a 变成 11,11-1 得 10, 10+a++,先执行语句后++,所以 b=10+11=21,然后 a 是 11 再++,打印得到 12

  • +=:例如:a=a+10 就可以简写成 a+=10,这个符号只能放中间,其实 a++就是 a+=1 的简写。
  • -=:例如:a=a-10 可以简写成 a-=10
  • “* =”:例如:a=a*10 可以简写成 a * =10
  • /=:例如:a=a/10 可以简写成 a/=10
  • %=:例如:a=a%10 可以简写成 a%=10
2. 比较运算符

(1)>:大于号
(2)<:小于号
(3)==:等于号,我们之前所说的=是赋值符号,在 js 里,==才是真正的等于号。
(4)>=:大于等于
(5)<=:小于等于
(6)!=:不等于
比如 var a=1>2,它打印出来是 false,打印出来是 Boolean(布尔值)值,若 var a=1<2, 则打印出来是 true,如果是两个字符串进行比较,他会用自身的阿斯克码进行比较, 在 js 里,NaN 不等于任何东西,包括自己。

3. 逻辑运算符
(1)&&:与

undefined、null、NaN、0、“”、 false 这些值转换为布尔值是 false(假),其他的值 转化为布尔值都是 true(真)。
如果&&只有两个值的话,他会先看第一个表达式的值转化为布尔值是否为真,如果为 真,他就会把第二个表达式的值返回,如果第一个表达式的值为假,他就会直接把第 一个表达式的值返回,不看后面的,比如:

	var a=1&&2; 
	document.write(a);  //打印 a 得 2.
	var a=1-1&&2; 
	document.write(a);  //打印 a 得 0. 

如果&&有三个或多个值,也是一样的,他会一个一个判断,如果这些值都为真,则返 回最后一个表达式的值,如果判断到哪个表达式的值是假的,他就会把这个表达式的 值直接返回,后边的就不看了(遇到假就停)(这里返回得是表达式的值,不是真和假, 真和假是用来判断的),所以&&被叫做短路语句,比如 2>1&&document.write(“内容”),当前边为真的时候,才会执行后边的语句,如果前边是假的,则不执行后边的语句。

(2)|| : 或

||和&&正好相反,如果||有多个值,他会一个一个判断,如果这些值都为假,则返回 最后一个值,如果判断到哪个表达式的值是真的,他就会直接返回这个表达式的值, 后边就不看了(遇到真就停)。比如 :

	var a=1||2;
	document.write(a);  // 打印 a 得 1. 
	var a=1-1||2; 
	document.write(a);  // 打印 a 得 2. 
(3) !:非

!的作用就是把一个值转换为布尔值再取反,如 var a=!123;打印 a 得 false,!!的作 用是直接把一个值转化为布尔值,比如:

	var a=!!"";
	//打印 a 得到 false.
	var a= !!123//打印 a 得 true.

声明:作者通过观看渡一教育免费公开课及相关文档总结的笔记,不做任何商业用途,仅供学习交流,感谢指正,如有侵权烦请立马联系,欢迎转载,请注明出处。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山大王杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值