一.运算操作符
赋值的顺序,自右向左,计算的顺序,自左向右
1.运算符“+”
(1)进行数学运算
**(2)字符串的连接 **
var a="a"+1+1
//结果 a11
var a=1+1+"a"+(1+2)
//结果 2a3
2.运算符“-”,“*”,“/”,“%”,“=”,“()”
3.优先级“=”最弱,“()”优先级别比较高
4.“--”,“++”,“+=”,“-=”,“=”,“()”
(1)“--”,“++” 前面先运算后执行语句,后面先执行语句,后运算
a=10
document.write(a++) //结果 10
a=10
document.write(++a) //结果 11
(2)“+=”,“-=” ,“=” ,“%=” 相同*
var a=10
a+=10+1 //结果 21
//等同于
a=a+10+1
二.运算符
下面值默认转换成false
undefined ,null,NaN,“”,false => false;
1.比较运算符“>”,“<”,“==”,“<=”,“!=”
比较的结果是个Boolean值
字符串的比较是比较asc的顺序,顺序靠前更大, asc是7位二进制数0-127
asc扩展是8位的二进制数0-255
2.逻辑运算符 && || !
(1)&& :与运算符 先看第一个的表达式转换成boolean值是否为true,那么它会看第二个表达式转换成boolean值的结果,然后如果只有两个表达式的话,只要看到第二个表达式的话,就可以返回该表达式的值了!
总结:这个就是依次看是否true,如果结果为false就直接返回当前结果
var a = 1 && 2 + 2;//结果4
var a = 0 && 2 + 2;//结果0
主要应用于后端进行数据传递的时候判断数据是否正确
(2)|| :这个就是依次看是否false,如果结果为true就直接返回当前结果。
如果一直到最后都为FALSE,不管最后一个的结果是什么,都返回最后一个的结果
总结:&&碰到假就停,||碰到真就停!
(3)!:不管这个值是什么,都转换成boolean值,并且取相反的boolean
二.条件语句
1.if 、if else if
if(1>2){
document.write("对的")
}
//可以转化成为
1>2&&document.write("对的")
2.for 循环
for(var i=0;i<10;i++){
//循环体
document.write("a")
}
//执行顺序
先执行一遍(1);
判断(2)执行语句
执行(3)
···
当判断语句if失败,结束循环
1.var i = 0;
2.if(i<10){
document.write("a")
}
3.i++; --> i=1;
4.if(i<10){
document.write("a")
}
5.3.i++; --> i=2;
···
3.while 、do while
while循环等同于for循环只写条件语句
var i=0 ;
for(;i<10;){
document.write(i);
i++;
}
//等同于
var i = 0 ;
while(i<10){
document.write(i);
i++;
}
do{}while()循环就是第一次一定执行
其他结果都是一样的,一般没啥用
eg:通过输入n;获得2的n次幂
var a=parseInt(window.prompt('input'))
var b=1;
for(var i=0;i<a;i++){
b*=2
}
document.write(b)
eg:通过输入获得;一个数的阶乘
var a=parseInt(window.prompt('input'))
var b=1
for( var i=1;i<=a;i++){
b*=i;
}
document.write(b)
4.条件语句的补充
(1)switch case
如果不增加break;就还会执行下面的语句;
switch(1){
case 1:
console.log("a");
break;
case 2:
console.log("b");
break;
case 3:
console.log("c");
break;
default:
console.log("无");
//但是有的时候为了重复代码可以
周一到周五工作;周六日休息
var a=window.prompt('input');
switch(a){
case "周一":
case "周二":
case "周三":
case "周四":
case "周五":
console.log("工作");
break;
case "周六":
case "周日":
console.log("休息");
break;
default:
console.log("错误");
(2)break
break的作用是跳出循环语句
(3)continue
break的作用是继续循环,但是下面的循环体中的语句并不会执行了