JavaScript运算符

本文深入讲解JavaScript中的各类运算符,包括算术、赋值、字符串、关系、逻辑、三目运算符等,解析它们的使用场景及特殊规则,帮助开发者掌握核心编程技巧。

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

运算符

1、算术运算符:+、-、*、/、%、++、–
1. 单目(操作数为一个且为变量): i++、i–、++i、–i;
2. 双目:+、-、*、/、%;

双目中 -/%*

  • 如果运算符两侧的值为数字型,可进行正常的数值运算; console.log(3-1);//2
  • 如果存在纯数字字符串(如:“12”),计算机自动转其为数字型进行运算; console.log(“3”-1);//2
  • 只要有一侧为非纯数字字符串,结果为NaN。 console.log(“3a”-1);//NaN

【NaN:非数字类型。
特点:① 涉及到的 任何关于NaN的操作,都会返回NaN ② NaN不等于自身。】

双目 +

  • 如果运算符两侧的值为数字型,可进行正常的数值运算;console.log(3+1);//4
  • 只要有一侧为字符串,表达连接。console.log(“3a”+1);//3a1

(1)“%”取余运算符,两个数相除,取余数。
A = 10 % 3; // A = 1,如果余数不为0,则两个不能整除
A = 10 % 2; // A = 0,如果余数为0,则两个数能除尽
(2)“++”加1运算符、自增1
“++”可以作前缀(++i),也可以作后缀(i++)。
(3)“–”减1运算符,自减1
“–”可以作前缀(–i),也可以作后缀(i–)。
i++和++i的区别:
相同点:都让变量自增1;
不同: i++ 先将i的值赋给整个表达式,i再自增1;
++i 先i自增1,再将i的值赋给整个表达式。
例如:var i = 2; var j = i++; console.log(i); //3 console.log(j); //2
var i = 2; var j = ++i; console.log(i);//3 console.log(j); //3

2、赋值运算符:+=、-=、*=、/=、%=
“+=”先加后等。如:a += 10 //等同于 a = a + 10
“-=”先减后等。如:a -= 10 //等同于 a = a - 10
“*=”先乘后等。如:a *= 10 //等同于 a = a * 10
“/=”先除后等。如:a /= 10 //等同于 a = a / 10
例如:var i = 1; i += 2; console.log(i);//3
var i = -2; i -=2; console.log(i);//-4

3、字符串运算符:+、+=
字符串只能进行“连接”运算,不能进行其它运算。
var a = “abc”; var b = a + “bcd”; // 结果b = a + “bcd” = “abc” + “bcd” = “abcbcd”
var a = “abc”; a += 10; // 结果a = a + 10 = “abc” + 10 = “abc10”

4、关系(比较)运算符:>、<、>=、<=、、!=(不等于)、=(全等)、!==(全不等)
比较运算符的运算结果是布尔值(true或false)。
A = 10 > 20; // 结果A=false
A = 20>=20; // 结果A=true
A = 10%2 == 0; // 结果A=true
A = 10%2 == “0”; // 结果A=true
A = 10%3 != 0; // 结果A=true
A = 10%2 === “0”; //结果A=false
console.log(i = 10 >=9);
“=”是赋值号。如:a = 10
”等于。只比较两个变量的值,而不管类型。只要值一样,就返回true,否则返回false。
=”全等于。既比较变量,也判断类型。如果类型和值都一样,返回true,否则返回false。
console.log(a=10 >= 9);//ture
console.log(null == undefined);//ture
console.log(null === undefined);//false
console.log(null == 0);//false

   字符串的比较:比较的是ASCII码值(a:97    b:98    c:99 ...    A:65    B:66    C:67 ...)/从左到右比较,直到比较出结果;                 console.log("a" > "b");//false

5、逻辑运算符:&&(且)、||(或)、!(非)
逻辑运算符的运算结果有两个true或false。
**“&&”逻辑与(并且关系)。**如果左右两个两个条件同时满足时,则结果为true,否则,结果为false。  
**“||”逻辑或。**左右两个条件,只要有一个满足,则返回true,否则,返回false。  
“!”取反运算。!true = false 、 !false = true 、 !100 = false

为假的值:0 null undefined “” false

计算机自身短路情况:

  • 第一个条件 && 第二个条件 如果第一个条件为假则计算机出现短路现象 不会继续判断第二个条件
  • 第一个条件 || 第二个条件 如果第一个条件为真则计算机出现短路现象 不会继续判断第二个条件

例如: console.log(6>7 && 5);//false
console.log(5 && 6<7);//ture
console.log(6<7 && 5);//5
console.log(0 && 6>5);//0

6、三目(元)运算符:? :
所谓“三目运算符”就是指三个操作数。
语法:条件表达式 ? 结果1 : 结果2
含义:如果条件为true,则执行“结果1”的代码;如果条件为false,则执行“结果2”的代码。
其实:三目运算符,就是if else的变形形式。
例:console.log(num % 2 == 0 ? “偶数”:“奇数”);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值