今天学习JS中的运算符,其中有
- 赋值运算符(Assignment operators)
- 比较运算符(Comparison operators)
- 算数运算符(Arithmetic operators)
- 位运算符(Bitwise operators)
- 逻辑运算符(Logical operators)
- 字符串运算符(String operators)
- 条件(三元)运算符(Conditional operator)
- 逗号运算符(Comma operator)
- 一元运算符(Unary operators)
- 关系运算符(Relational operator)
一、算术运算符
// 加法运算
// 非字符串运算
var a=11
var b=22
console.log(a+b)
// 拼接字符串
var a='YY'
var b='DS'
console.log(a+b)
// 减法运算
var a1 = '5'
var b1 = 10
console.log(b1-a1)
// 乘法运算
var ba='20'
var go=30
console.log(ba*go)
// 除法运算
var a=20
var b=400
console.log(b/a)
// 取余运算符 简称 模 %
var yy=100;
console.log(100%2)
// 除以2能除尽的数为偶数2、4、6、8、10
var hh=15
console.log(15%2)
// 除以2除不尽的剩下的数为余数,奇数1、3、5、7、9
// ++运算符
// 前++ 先增加1,在参加其他运算 vv=10+1=11 aa也=11
var vv=10;
var aa=++vv;
console.log(aa,vv)
// 后++ 先进行运算在给自己加1 mm是10先进行算 jj就是10+1=11
var jj=10;
var mm=jj++;
console.log(jj,mm)
// --运算符
// 跟++ 一样 有前++和后++
// 前--
var vv=10;
var yy=20;
var dd=--vv+--yy;
// --先自身减去1在参加算数 vv=9 yy=19 dd=28
console.log(dd)
// 后--
var aa=10;
var bb=20;
var ff=aa--+bb--;
console.log(aa,bb,ff)
// 后-- 先参加运算在自身减1 aa=9 bb=9 ff=30
算数运算符就是正常的加减乘除,注意:算术运算符中有++和--两个运算符++或--在前面时要先进行自增或自减然后再去进行运算,++或--在后面时先进行其他运算然后再去自增或自减,而除法运算又叫做取模运算,所需要的值为后面的余数。
二、赋值运算符
// 赋值操作 = += -= *= /= %=
// =
var a=10
// +=
a+=10
a=a+10
// -=
a-=100
a=a-100
// *=
a*=100
a=a*100
// /=
a/=100
a=a/100
// %=
a%=5
a=a%5
赋值运算符将它右边操作数的值赋给它左边的操作数。最简单的赋值运算符是等于(=
),它将右边的操作数值赋给左边的操作数。那么 x = y
就是将 y 的值赋给 x。
三、比较运算符
比较运算符 (en-US)比较它的操作数并返回一个基于表达式是否为真的逻辑值。操作数可以是数字,字符串,逻辑,对象值。字符串比较是基于标准的字典顺序,使用 Unicode 值。在多数情况下,如果两个操作数不是相同的类型,JavaScript 会尝试转换它们为恰当的类型来比较。这种行为通常发生在数字作为操作数的比较。类型转换的例外是使用 ===
和 !==
操作符,它们会执行严格的相等和不相等比较。这些运算符不会在检查相等之前转换操作数的类型。下面的表格描述了该示例代码中的各比较运算符。
// 比较大小或等于 > >= < <= == != === !==
// >
console.log(10>8);
//控制台显示 ture 10>8 条件成立
console.log(10>=8);
//控制台显示 ture 大于等于两个满足其中一个条件就可以成立
console.log(10<8);
//控制台显示 flose 8不能大于10
console.log(10<=8);
//控制台显示 flose 8也不大于等于10
console.log(10=='10');
//控制台显示 ture ==不看类型 双方相等即可,相等为ture,不相等为flose
console.log(10!='10');
//控制台显示 flose !=判断左右两边是否不相等,不相等则为ture,相等则为flose
console.log(10==='10');
//控制台显示 flose === 判断值和数据类型是否相等,相等为ture,不相等为flose
console.log(10!=='10');
//控制台显示 ture !== 因为类型不一样 数值和布尔类型
四、逻辑运算符
逻辑运算符常用于布尔(逻辑)值之间; 当操作数都是布尔值时,返回值也是布尔值。不过实际上&&
和||
返回的是一个特定的操作数的值,所以当它用于非布尔值的时候,返回值就可能是非布尔值。逻辑运算符的描述如下。
&&(逻辑与)假设有数值1和数值2两个变量,如果 第一个数值 能被转换为 false,那么返回 第一个数值;否则,返回第二个数值。因此,&&
用于布尔值时,当操作数都为 true 时返回 true;否则返回 false.
||(逻辑或)如果 数值1 能被转换为 true,那么返回 数值1;否则,返回数值22
。因此,|| 用于布尔值时,当任何一个操作数为 true 则返回 true;如果操作数都是 false 则返回 false。
!(逻辑非) 如果操作数能够转换为 true 则返回 false;否则返回 true。
//与 非 或
//&& 与 并且 表达式&&表达式,必须同时成立,才能成立。
console.log(10>5&&10>5) //ture
console.log(true&&true) //ture
console.log(true&&5) //5 表示最后一个数 为真
console.log(0 && true) // 0 前面0为假了 就不会找下一个值了
// || 或 或者 其中有一个值为真就是为真
// 会直接找到ture 在控制为ture
console.log(false||true)
// 没有真直接找到false
console.log(false||false)
// 0为假 1为真 控制台直接显示1
console.log(0||1)
//! 非 取反 ture false
//控制台输出显示false
console.log(!true)
//控制台输出显示ture
console.log(!false)
//a在控制台为false
var a=10
console.log(!a)
我今天的分享到此结束。