javascript运算符

本文深入解析了各类运算符的含义及应用场景,包括算数运算、关系运算、逻辑运算、位运算等,通过实例演示如何正确使用这些运算符进行高效编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

一 运算符含义

程序中模拟人的思维运算或判断的符号


二 算数运算 + - * / % ++ –

(一)%运算

1.含义–取余数

被除数/除数,不取商,而是取除不尽的余数部分
例如:6789%100–>89

2.何时使用

(1)判断奇偶数

n%2–>1 余数为1是奇数 否则是偶数

(2)限制一个运算的结果,不超过某个最大值(除数)

(二)++

1.含义

将当前变量中的值递增1
比如:n++==>n=n+1

2.何时使用

只要对变量中的值递增1,还存回变量中

3.前++和后++

(1)n++单独使用

前++和后++都一样

(2)n++运算参与到其他表达式中
①前++(++n)

将n中的值+1,表达式返回新值

②后++(n++)

将n中的值+1,表达式返回旧值

/*鄙视题*/
	var n=2;
	var r=++n + n++ + ++n;
	    
	    // 3
		//n=3
		      // 3
			  //n=4
			        // 5
					//n=5
	console.log(r); //11
	console.log(n); //5
/*鄙视题*/
	var n=2;
	var r=n++ + ++n + n++;
	    
	    // 2
		//n=3
		      // 4
			  //n=4
			        // 4
					//n=5
	console.log(r); //10
	console.log(n); //5

(三)–

将当前变量中的递减1,同++一样


三 关系运算

(一)含义

将两个值做比较: > < >= <= == !=

(二)返回值

只能返回两个值之一,如果成立,返回true,否则返回false

(三)隐式转换

将所有类型都转为number类型,再比较!

var n1=1.n2=3;
var s1="2",s2="3";
var b1=true,b2=false;
console.log(s2>n1);//true
console.log(b1>b2);//true
console.log(s2-n1==b1);//true

(四)特殊情况

1.两字符串做比较

依次PK每一位字符的unicode编号,只要有一位字符分出大小,就不再比较
比如 “3”>“10” -->true
“Smith”>“Scott” -->true
在这里插入图片描述

2.NaN

(1)含义

NaN和任何数据做大小或等于比较永远返回false
NaN和任何数据做不等于比较,永远返回true

(2)isNaN(num)
①含义

专门判断num是否是NaN

②返回值

如果是NaN返回true,否则返回false

③何时使用

今后只要判断一个数值是否是数字或数字能否被转为数字,都用isNaN,如果是数字,返回false,否则返回true

	/*判断用户输入是否为数字*/
	var input=parseInt(prompt("输入一个数据"));
	console.log("是数字吗?"+!isNaN(input));
3.undefined VS null

undefined==null ==>true

var n;
console.log(n==null);//true
4.===全等
① 含义

数据类型要相同,再比较值是否相等,不带隐式转换

② 何时使用

只要不希望关系运算中自动隐式转换时


四 逻辑运算

(一)含义

综合多个关系运算的结果得出最终结论

(二)返回值

返回值二选一:满足条件返回true,否则返回false

(三)种类

1. 关系运算1&&关系运算2

两个条件必须都是true,才返回true,否则返回false

2. 关系运算1||关系运算2

只要有一个条件为true,则返回true;只有两个条件都为false时,才返回false

3.!关系运算

颠倒关系运算的true/false结果

(四)短路逻辑

1. 含义

如果前一个条件已经可以得出结论,则后续条件不再执行!

var n=10;
var r=n++>10 && ++m>10;
     //10
     //n=11
     //false
console.log(r);//false
console.log(n);//11
var n=10;
var r=n++>10 || ++m>10;
     //10
     //n=11
     //false
                 //报错
console.log(r);//报错
console.log(n);//
var n=10;
var m=10;
var r=n++>10 || ++m>10;
     //10
     //n=11
     //false
                 //11
                 //m=11
                 //true
console.log(r);//true
console.log(n);//11
console.log(m)//11

2. 利用短路逻辑

(1)利用&&的短路逻辑

关系运算&&操作:只有满足关系运算时,才执行"操作"

var total=parseFloat(prompt("输入总价"));
    //如果total>=500,就打八折
   total>=500&&(total=total*0.8);
   console.log("应收金额:"+total);
(2)利用 || 的短路逻辑

关系运算||操作:如果前一个条件不满足,才执行后一个"操作"


五 位运算

(一)左移

n<<m 将n的二进制,左移m位

比如: 1<<3 -->  1*  2的3次方

(一)右移

n>>m 将n的二进制,右移m位

比如: 8<<3 -->  8/  2的3次方

六 扩展赋值运算

+= -= *= /= %=

(一)+=

1.含义

例如:n+=2;==>n=n+2
将n中值+2后,再保存n中

2.何时使用

今后只要对变量中的值进行累加时,都要用扩展赋值运算


七 三目运算

(一)什么是三目运算

根据不同的条件,多选一,返回不同的结果

(二)语法

条件1?值1;
条件2?值2;
…?..
默认值

(三)注意

无论三目运算多么复杂,结果只能是一个值

/*请用户输入工资:
		如果工资>=20000,则输出土豪
		如果工资<8000,则输出屌丝
		          否则,输出一般人
	*/
	var salary=prompt("输入工资");
	console.log(
		//如果工资>=20000,则输出土豪
			salary>=20000?"土豪":
		//如果工资<8000,则输出屌丝
		    salary<8000?"屌丝":
		          //否则,输出一般人
				       "一般人" 
	);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值