一、算数运算符
加+,减-,乘,除/,除余%,自增++,自减--。
这些运算符都能够将字符串转换为数值
1.加法运算符+
1).进行加法运算
2).进行字符串拼接
3).当加号放到字符串前面时,可将字符串转换为数字
2.减法运算符-
1).进行减法运算
2).当减号放到字符串前面时,可将字符串转换为数字
3.乘法运算符
1).进行减法运算
2).当乘号放到字符串前面时,可将字符串转换为数字
自增、自减
前增量:自增运算符在变量前面,优先级比赋值运算符高(先加再赋值)
后增量:自增运算符在变量后面,优先级比赋值运算符低(赋值后再加)
前减量:自减运算符在变量前面,优先级比赋值运算符高(先减再赋值)
后减量:自减运算符在变量后面,优先级比赋值运算符低(赋值后再减)
+拼接,- * / %都可做运算:
console.log(("111"+2));//+拼接,-*/都可以算
console.log(("111"*2));//222
console.log(("111"/2));//55.5
console.log(("111"%2));//1
++可做运算,将字符串隐形转换成数字
m++和m = m+1不是等价的
var m1 = '1';
var m2 = '1';
m1++;
console.log(m1);//number 2
m2 = m2 + 1;
console.log(m2);//string 11
二、赋值运算符
赋值运算符:=、+=、-=、*=、/=、%=
n+=10 -> 等价于n = n+10;其他同理。
querySelector(data):
data:表示任意的css选择器
addEventListener():添加事件监听器
var num1 = 0;
var btn = document.querySelector("button");
var score = document.querySelector(".test");
btn.addEventListener("click",function(){
score.innerText = num1 += 10;})
三、比较运算符
比较运算符:==,>,<,>=,<=,===(绝对相等),==,!=,!==(绝对不等)
注意:有多个数据进行比较的时候,不能用数学的链式写法(比如:x<y<z)
可通过逻辑运算符来完成多个数据的比较
console.log(3>4);//false
console.log(3<2<5);//不能这样写,否则计算不准确
console.log(3<2&&2<5);//false
//当两个字符串进行比较的时候,js会找到字符串对应的Unicode编码来进行比较
var str1 = "aaa";
var str2 = "bbb";
console.log(str1 > str2);//false
//不会转化成数字,而是比较第一个数字,如果第一位相同,比第二位
var str3 ="123";
var str4 = "234";
console.log(str3 > str4);//false
//如果一个数字,一个字符串,会转化成数字再比较
var str5 = 56;
console.log(str4>str5);//true
//对象比较 比较它们的指针是否指向同个内存空间
//如果是返回true 否则返回false
var obj1 = {};
var obj2 = {};
var obj3 = obj2;
console.log(obj1 == obj2);//false
console.log(obj2 == obj3);//true
绝对相等(既要类型相等,又要数值相等):===
不绝对相等(类型不等或者数值不等或者类型和数值都不等):!==
var a = 10;
var b = 10;
console.log(a !== b);//false
var a = 10;
var b = 11;
console.log(a !== b);//true
四、三元运算符(三木运算符)
三元运算符(三目运算)
语法:条件语句一?条件成立代码:条件不成立代码
var num = 48;
if(num>18){
console.log("成年");
}else{
console.log("未成年");
}
num>18&&num<45?console.log("成年"):console.log("不成年");
num>18?(num<45?console.log("成年"):console.log("年纪太大")):console.log("不成年");
五、条件语句
if
1.if(判断条件){条件成立执行此处的代码}else{不成立执行此处代码}
2.if(判断条件){语句一}else if(判断条件二){语句二}else{语句三}
var score = 80;
if(score>60){
console.log("及格");
}else if(score>80){
console.log("优秀");
}else{
console.log("不及格");
}
switch语句
语法:
switch(n){
case 1:语句1
break;
case 2: 语句2
break;
default:如果前面不匹配,默认语句
}
var n = 3;
switch(n){
case 1:console.log("星期一");
break;
case 2:console.log("星期二");
break;
case 3:console.log("星期三");
break;
case 4:console.log("星期四");
break;
default:console.log("输入错误");
}
六、循环语句
循环语句:
1. for循环
语法:
for(声明条件的初始值;判断语句;自增/自减语句){循环体}
循环过程:
1).进入循环首先初始化条件,条件判断成立,进入循环体
2).进行自增/自减后,进行条件判断,条件成立进入循环体
3).一直重复第二步操作,直到条件不成立,退出循环
//1+2+3+4+5+6+7+8+9
var sum = 0;
for(var i=1;i<10;i++){
sum += i;
}
console.log(sum);
//求5的阶乘;5*4*3*2*1
var sum1 = 1;
for(var i=5;i>0;i--){
sum1 *=i;
}
console.log(sum1);
多个循环嵌套:
有多个循环嵌套时,
外层循环循环一次,里面的循环会循环完成之后再跳出外层循环
for(var i=0;i<3;i++){
for(var j=0;j<3;j++){
console.log("i",i);
console.log("j",j);
}
}
七、break和continue语句
break:结束循环、终止循环
continue:跳出当次循环,会继续循环
for(var i=0;i<10;i++){
//如果等于7会跳出循环
if(i==7){
break;
}
console.log(i);
}
for(var i=0;i<10;i++){
//如果等于7 会跳过7继续循环
if(i==7){
continue;
}
console.log(i);
}