数学运算符
++ 累加, – 递减(单目运算符); +加 -减 *乘 / 除 %取模 求余数,保留整数,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则不再执行。