<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
// 赋值运算符
// =
var a = 1;
// +=
a += 1;
a = a + 1;
// -=
a -= 1;
a = a - 1;
// *=
a *= 1;
a = a * 1;
// /=
a /= 1;
a = a / 1;
// %=
a %= 1;
a = a % 1;
// 字符串运算符
var a = "123"
a += "456";
console.log(a); //输出123456
var a = "123";
var b = "456";
console.log(a + b); //输出123456(字符串拼接)
// 比较运算符
// == 只判断内容是否相等,不判断类型是否相等
var a = "123";
var b = 123;
console.log(a == b); //输出true;因为值是相等的
// === 判断内容是否相等,还要判断类型是否相等
var a = "123";
var b = 123;
console.log(a === b); //输出false;虽然都是123,但是是字符串类型和数字类型
// != 只判断内容是否不等
var a = "123";
var b = 123;
console.log(a != b); //结果为false,内容相等,类型不等无所谓
// !== 判断内容和类型是否都不等,一项条件不满足都不行
console.log(1 !== 1); //结果为false.内容和类型都相等
console.log(1 !== "1"); //结果为true;虽然都是1,但是数据类型不同
// <; >; <=; >=
console.log(1 < 2);
console.log(1 > 2);
console.log(1 <= 2);
console.log(1 >= 2);
// ?: 三元运算符
// 两个数,比大小,输出大的数
var a = 1;
var b = 2;
console.log(a > b ? a : b);
// 三个数,比大小,输出大的数
var a = 1;
var b = 2;
var c = 3;
console.log(a > b ? a > c ? a : c : b > c ? b : c);
// 逻辑运算符
// &&(或) 当所有判断条件为true,输出结果才会为true,只要有一个条件为false.那么输出结果为false
console.log(1 < 2 && 2 < 3); //输出结果为true
console.log(1 < 2 && 2 > 3); //输出结果为false
// 短路与 当前面的判断条件不成立时,后面的条件就不会执行
var a = 1;
1 > 2 && a++;
console.log(a); //打印结果为1,因为1是小于2的,所以后面的a++不执行
// ||(与) 只要有一个判断条件成立,输出结果就是true
console.log(1 < 2 || 2 > 3); //输出结果为true
console.log(1 > 2 || 2 > 3); //两遍都是false,输出结果为false
// 短路或 当前面的判断条件为true时,就不会执行后面的判断条件,当前面的判断条件为false时,再执行后面的判断条件
var a = 1;
1 < 2 || a++;
console.log(a); //打印结果为2,因为1是大于2的,所以前面的为false,执行后面的a++
var a = 1;
1 > 2 || a++;
console.log(a); //打印结果为1,因为1小于2,所以就不执行后面的代码了,a还是=1
// !非,取反
console.log(!true); //打印结果为false
console.log(!false); //打印结果为true
// 逗号运算符
var a = 1, b = 2, c = 3;
console.log(a,b,c); //输出结果为1 2 3
var a = (1,2,3)
console.log(a); //输出结果为3,只打印最后的一个数字
// 不同数据类型之间的比较
// 单纯字符串比较,是按照字符对应的ascii码来比较的,A = 97; a = 65; 0 = 48;
console.log("1" > "2"); //输出结果为false
console.log("12" > "1"); //输出结果为true,第一位的ascii码比不出来时,比第二位的ascii码
console.log("a" > "b"); //输出结果为false
// 不同数据类型之间的比较,都是转number来比较
console.log("12" > 1); //输出结果为true;
console.log("a" > 2); //输出结果为false,a转number是NaN,NaN跟任何数值比较都是false
console.log('1' >= true); //输出结果为true;
console.log('12' > undefined); //输出结果为false,underfined转number是NaN
console.log('-12' > null); //输出结果为false
</script>
</body>
</html>
2021-08-02各种运算符
最新推荐文章于 2024-08-05 21:39:45 发布