当前位置: 首页 > Web前端 > vue.js

JS系列:js三元运算符

时间:2023-03-31 17:15:31 vue.js

三元运算符语法:条件?成立了怎么办:不成立怎么办;<=>相当于一个简单的if/else判断(简化写法)varnum=12;如果(num>10){num++;}else{数--;}=>等价于三元运算符:num>10?数++:数--;特殊情况://=>如果三元运算符的一部分成立,我们不需要任何处理,我们使用null/underfined/void0...就发生varnum=12;num>10?num++:空;//=>如果需要执行多个任务,我们将它们括在括号中并用逗号分隔每个语句num=10;数>10?(num++,num*=10):null;思考题:varnum=12;if(num>0){if(num<10){num++;}else{num--;}}else{if(num==0){num++;num=num/10;}}更改为三元运算符:varnum=12;num>0?(num<10?num++:num--):(num--,num=num/10);switchcasejs中的一种判断方法,switchcase是针对变量(表达式)在不同值下的不同操作,每个case结束后需要加一个break(结束整个判断)varnum=10;如果(num==10){num++;}elseif(num==5){num--;}else{num=0;}切换到switchcasevarnum=10;switch(num){案例10:num++;休息;案例5:num--;休息;default:num=0;}>没有break,下面的子句案件成立与否,一律执行;利用这种机制,我们可以完成一些特殊的处理,例如:如果num等于10或5,我们必须做同样的事情,那么我们一起写而不加break(去掉case10里面的break)思考:n++是不是和n=n+1一样吗?varn='10';n=n+1;console.log(n)=>101//=>属于字符串拼接,结果为'101'。遇到字符串就是字符串拼接,遇到数字就是数学运算,如果是n++就是数学运算=是赋值,==判断是否相等,===判断绝对相等(类型andvaluemustbeequal)'10'==10=>真值相等,类型不同,相等比较,如果等号左右两边的类型不同,先转换为相同的数据类型,然后然后比较。目前的情况是将字符串'10'转换成数字,然后比较'10'===10=>falsevalue和typeallequal。绝对比较,如果两边的数据类型不同,不想直接键入,需要类型和值完全一样才相等(实际项目中,为保证严谨,使用绝对等号)switchcase中的每一个case的比较都是基于“===”绝对相等。例子:varnum=5;switch(num){案例10:案例5:num--;休息;默认值:num=0;}console.log(num);VM1668:124FOR循环函数:按照一定规则重复做某事,需要循环处理。varary=[12,23,34];ary=>{0:121:233:34length:3}//输出数组中的每一项/*==itar[TAB]键自动补全循环代码for(vari=0;i第一个循环:i=0;i<3..i=1=>ary[0]//=>第二个循环:i=1;i<3..i=2=>ary[1]//=>第三个循环:i=2;i<3..i=3=>ary[2]//=>第四个循环:i=3;i<3循环结束(这次没有循环)console.log(ary['i']);}*反向输出:varary=[12,23,34];//=>反向输出每一项。反向输出342312//=>ary.length;当前数组中最后一项的属性名称(索引)for(vari=ary.length-1;i>=0;i--){console.log(ary[i])}=>342312*输出奇数项varary=[12,23,34];for(vari=0;i输出数组中的奇数项//i=0第一个奇数项//i=1第二个偶数项//i=2第三个odditem//索引为偶数,代表奇数项,如果判断当前i的值是奇数还是偶数?//12%5:%称为取模,12除以5得到余数console.log(ary[i]);}}FOR循环语法:定义初始值vari=0设置循环条件(条件成立循环继续,不成立则循环结束)如果i结束本轮循环(循环体中continue的代码未执行)继续下一轮}if(i>7){i+=2;break;//=>强行结束循环,不能做任何处理}i+=3;}思考题:for(vari=1;i<=10;i+=2){if(i<=5){我++;继续;}else{i-=2;break;}i--;console.log(i);}=>5