1.算术运算符
<script>
// [算数运算符]
let a =10;
let b =20;
//加法运算
console.log(a+b); //30
//减法运算
let c =b-a;
console.log(c); //10
//乘法运算
console.log(c*b); //200
//除法运算
b = b / a
console.log(b); //2
//取模运算 取余数
console.log(26%5); //2
//幂运算
console.log(2 ** 10); //1024 2的10次方
//自增运算
m = 5;
n = ++m;
console.log(m); //6
console.log(n); //6
m = 5;
n = m ++;
console.log(m); //6
console.log(n); //5
var x =1; y=2;
console.log(++x); //2
console.log(x); //2
console.log(y++); //2
console.log(y); //3
//自减运算
q = 2;
p =--q;
console.log(p); //1
console.log(q); //1
g =2;
h =g--;
console.log(g); //1
console.log(h); //2
var d =10; s =20;
console.log(++d); //11
console.log(d); //11
console.log(d--); //11
console.log(d); //10
</script>
2.字符串运算符+隐式转换
隐式转化:当两个数据类型不同时,JS会按照既定的规则进行转化
字符串运算符:加号遇上字符串,做拼接使用。
字符串运算:
<script>
//字符串运算符
console.log(1 + "1"); //11
console.log(1 + "null"); //1null
console.log(null +"undefined"); //nullundfined
var name = "张三"
var age = 18
console.log(name+"的年龄是"+age);
</script>
隐式转换:
例一
<script>
//隐式转换
console.log(1 + 1); //2
console.log(1 + null); //1
console.log(1 + true); //2
console.log(1 + false);//1
console.log("12"-0); //12
console.log(undefined*null);//NaN
console.log(Infinity ++);//Infinity
</script>
例二
<script>
//利用隐式转换将数据转换为数字型数据
console.log('12' -0); //输出结果:12
console.log('12' * 1); // 输出结果:12
console.log('12' / 1); //输出结果:12
// 利用隐式转换将数据转换为字符串型数据
console.log(12+''); //输出结果:12
console.log(true +''); //输出结果:true
console.log(null +'); //输出结果:null
console.log(undefined +''); //输出结果:undefined
</script>
3.赋值运算符
<script>
//赋值
let a =10;
let b =20;
let c =a+b;
//加等于/加并赋值 +=
a += b;
//a =a + b
console.log(a); //30
console.log(b); //20
a -= b;
// a = a-b
console.log(a); //10
console.log(b);//20
a *= b;
//a = a * b
console.log(a);//200
console.log(b);//20
a/=b;
//
console.log(a);//10
console.log(b);//20
a%=b;
console.log(a);//10
console.log(b);//20
a**=b
console.log(a);//100000000000
console.log(b);20
</script>
4.比较运算符
全等于”===“——(全部相等,数据类型、数据大小都相等)
<script>
// != 不等于
console.log(4!=5);//true
console.log(4!=4);//false
// ==等于
console.log(4=="4");//true
//===全等于 (全部相对,数据类型、数据大小都相等)
console.log(4==="4");//false
</script>
5.逻辑运算符
①&& 逻辑与运算符 有一个是假整个就是false,一假则假
<script>
console.log(true && true);//true
console.log(false && true);//false
console.log(true && false);//false
console.log(false && false);//false
console.log(3>2 && 2>1);//true
console.log(3<2 && 2>1);//false
console.log(3<2 && 2<1);//false
</script>
② || 逻辑或运算符 有一个真整个就是真,一真则真
<script>
console.log(true || true);//true
console.log(true || false);//true
console.log(false || true);//true
console.log(false || false);//false
console.log(0 || 4<3);//false
</script>
③ ! 逻辑非运算符 取相反值
<script>
console.log(!true);//false
console.log(!(2>1)); //false
console.log(!(2<1));//true
</script>
6.三元运算符
三元运算符也称为三元表达式,使用问号“?”和冒号“”两个符号来连接,根据条件表达式的值来决定问号后面的表达式和冒号后面的表达式哪个被执行。三元运算符的具体语法格式如下: 条件表达式 ? 表达式1 : 表达式2
上述表达式:
如果条件表达式的值为true,则返回表达式1的执行结果
如果条件表达式的值为false,则返回表达式2的执行结果
例一:
<script>
//需求: ①让用户输入两个数字 ②比较两个数字大小,并在页面显示最大的那个数字
var num1 = prompt("请输入第一个数字")
var num2 = prompt("请输入第二个数字")
var bijiao = num1 - num2 > 0 ? num1:num2;
console.log(bijiao);
document.write(bijiao)
</script>
例二:
<script>
//需求:用户输入一个数字,如果数字大于十则直接打印该数字,否则在数字页面补上0之后再打印,例:11--11 5--05
var num3 = prompt("请输入一个数字")
var bijiao2 = num3 >=10 ? num3 : "0"+num3
document.write(bijiao2)
</script>
7.运算符优先级
总结:一元运算符>逻辑运算符>赋值运算符(逻辑与>逻辑或)>赋值运算符
<script>
let a = 3 > 5 && 2 < 7 && 3 == 4
console.log(a);//false
let b = 3 > 5 || 2 > 7 && 3 ==="3"
console.log(b);//false
let c = 2 =="2"
console.log(c);//true
let d = !c && (b || a)
console.log(d);//false
</script>