数学运算符
++ 累加, – 递减(单目运算符);
+加 -减 *乘 / 除
%取模 求余数,保留整数,x%y 是 x对y取模,即x/y的商的余数。
js中有单目/双目/三目运算符
a+b 双目运算符;+号是运算符;a和b是操作数;
常见算数表达式a+b+c (也是双目表达式)
a++
++是一个运算符,这里面只有一个操作数(即单目运算符)
单目 运算符:++ –
格式:
++变量 或 变量++
++变量自增1
a++相当于a=a+1
a++就是把a的值改变为 自增1 的结果;
--变量 或 变量--
--变量自增1
a--相当于a=a-1
a--就是把a的值改变为 自增1 的结果;
a++和++a的区别?
如果++不能参与其他运算,就单独++,那么放在操作数前后无区别;
如果++放在操作数后边(a++)则先将本身结果给其他运算式使用,然后进行++运算。
从运算式的左边开始运算。
如果++放在操作数前边(++a)则先进行++,然后将++后的结果给其他表达式使用。
从运算式的左边开始运算。
赋值运算
等= 加等+= 减等-= 乘等*= 除等/= 模等%=
=将变量赋值;
var a=10;
var b=30;
a+=b;//a=a+b,a的值重赋;
console.log(a);//40
console.log(b);//30
a-=b;//a=a-b;
a*=b;//a=a*b;
a%=b;//a=a%b;
比较运算符
大于> 小于< >= <=
相等== 全等=== 不相等!= 不全等!==
比较大小,返回Boolean值,true或false
==和===区别
==表示判断两个变量值是否相等。
如果变量类型一样,则直接 相等 true;
如果变量类型不一样,默认 系统自动转换同一类型 再比较,相等true 不相等false;
===表示判断两个变量值是否全等。
如果变量类型一样,直接比较相等true,不相等false;
如果变量类型不一样,直接false。
==系统默认Number()规则转换,必须纯数字。
!=和!==区别
!=不相等
如果类型一样直接比较值不相等;
如果类型不一样,先自动转化同一类型。
!==不全等
如果类型一样直接是否不相等;
如果类型不一样,则直接返回true。
逻辑运算符
与&& 或|| 非!
与&&:全镇才真,一假即假。
或||:全假才假,一真即真。
非!:取反;
逻辑运算可以操作布尔值,或将表达式转换成布尔值,再进行计算。
-
操作布尔值无实际意义。
-
操作布尔表达式(直为布尔值的表达式);
-
操作其他表达式或者变量或者值;
-
六兄弟在逻辑运算中自动转化成false,其他都是true。(“” null NaN false 0 undefined);
-
逻辑计算如果计算的是其他表达式或者值时,结果是一个具体的值而非布尔值;规则是:
与:遇到false停止计算,取转换成false的那个值;没有false取最后那个值。
或:遇到true停止计算,取转换成true的那个值;没有true取最后那个人值。
非:取反。非的结果只能是布尔值。
运算符的优先级
- ()优先级最高;
- 一元运算符++ – !
- 算数运算符 先* / % 后±
- 关系运算符> >= < <=
- 相等运算符== != === !==;
- 逻辑运算符 先&& 后||。
三种流程控制语句
- 顺序结构 从上到下,逐行执行
- 选择结构 if语句 switch语句
- 循环语句 for循环语句 while循环语句 do…while循环语句
选择结构之if语句(if语句将表达式自动转化成boolean值)
三种格式:
//第一种:
if(表达式){
语句体;
}
var a=false;
a=20;
if (a){
console.log("打印执行结果");
}
//第二种:
if(表达式){
语句体1;
}else{
语句体2;
}
//第三种:
if(表达式1){
语句体1;
}else if(表达式2){
语句体2;
}else if(表达式n){
语句体n;
}else{
语句体n+1;
}
逻辑数据的判断:正确数据 错误数据 边界数据
语句体可以是一句代码,也可以是一整套代码。
选择结构之switch语句(专门做分支语句判断,固定值的匹配)
//switch结构
swtich(变量){
case 常量值n:
语句体;
break;
}
var hh=1;
switch(hh){
case 1:
//事例常量
console.log("一号");
break;
//终止
case 2:
console.log("二号");
break;
case 3:
console.log("三号");
break;
default:
//不履行
console.log("全不是");
break;
}
switch注意:
case常量值不能重复,重复只匹配第一个;
break不能省略,否则case穿透;
default能省略,但不建议省略,除非已经确定选项的单选
switch 全等运算操作,不会隐式转换。
三目运算符:专门用来取得一个结果
var b=10;
var c=20;
var a=c>b?c:b;
ture 是问号后边 c;
false 是冒号后边 b.
标识符命名规范
1、见名知意
2、驼峰法
大驼峰 首字母大写
小驼峰 除第一个单词 其余首字母大写
循环结构语句之for循环
//格式:
for(初始化语句;循环判断条件;控制条件语句){
循环体语句;
}
//作用:反复执行一段代码,提高代码复用率
//双重for循环
for(var i=1;i<9;I++){
console.log("外层循环"+i);
for(var j=1;j<i;j++){
console.log("内层循环"+j);
}
str+="\n";
}
document.write("向页面打印数据");
break和continue在循环中使用区别
break:终止当前循环,顺序执行循环后面语句。
continue:跳出本次循环,进入下一次循环。
while循环
格式
初始化语句;
while(循环判断条件){
循环体语句;
循环控制语句;
}
var i=1;
while(i<3){
console.log("ha");
i++;
}
console.log("he");
while循环和for循环区别
两个循环的变量都是可以再循环执行完毕后,继续使用变量。
除了格式上区别,无任何区别。
严格来说,while循环偏向反复执行一段功能,(在满足某一条件下反复执行)
for循环偏向执行次数。
do…while循环
格式
初试化语句;
do{
循环体语句;
控制条件语句;
}while(循环判断条件);
var i=5;
do{
console.log("ha"+i);
i++;
}while(i<3);
do…while 循环
不管条件如何上来先执行一次,循环体语句;
然后再判断,如果条件false则不再执行。