JS操作语句
判断语句
- if…else if…else 语句
- switch…case 语句
- 三元运算符
if…else…
判断语句只要有一个条件成立, 后续判断再有成立, 也只是第一个条件执行.
if (0){
// 判断语句中的条件最终都会转换成 true 或 false 来判断条件是否成立.
// 其他数据类型转换成布尔值只有 0/NaN/''/null/undefined是false, 其余都是true.
// 特别要注意 加号+ 的运算是数字加法还是字符串拼接.
}
var num = parseInt('width:35.5px');
if (num == 35.5) {
alert(0);
} else if (num == 35) {
alert(1);
} else if (num == NaN) {
alert(2);
} else if (typeof num == 'number') {
alert(3);
} else {
alert(4);
}
// 1. parseInt能处理以数字开头的字符串, 不是则返回NaN
// 2. NaN不能和任何数字比较包括它自己
// 3. alert输出的结果是字符串, 所以结果是字符串3
三元运算符
语法: 条件?条件成立做的事情:条件不成立做的事情
三元运算符相当于简单的if…else判断
num>10?num++:num--;
特殊情况1: 当条件不成立什么也不做, 就在后面写null
或undefined
或voide 0
num>10?num++:null;
特殊情况2: 条件里有多个语句用小括号扩起来, 每条语句之间用逗号隔开
num>10?(num++,num*10):null;
var num = 12;
num > 0 ? (num < 10 ? num++ : num--) : (num == 0 ? (num++, num *= 3) : num *= 2)
switch…case…
switch…case…另一种判断语句, 每一个case
结束后都必须有break
结束整个判断, 条件不成立执行default
默认语句.
var num = 10;
switch (num) {
// 判断情况1, case 10 代表num==10的情况:
case 10:
num++;
break;
// 判断情况2:
case 5:
num--;
break;
// 1和2都不成立, 执行默认语句
default:
num = 0
}
alert(num) // 11
switch…case…应用于变量(或表达式等)在不同值情况下的不同操作.
注意: switch…case…中case的比较是全等比较===
var num = '10';
switch (num) {
case 10:
num++;
break;
case 5:
num--;
break;
default:
num = 0
}
alert(num) // 0
注意: switch…case…中case结束后不加break则后面的case条件无论是否成立都会执行里面的语句.
var num = 10;
switch (num) {
// case 10和case 5都执行相同的语句
case 10:
case 5:
num--;
break;
default:
num = 0
}
alert(num) // 9
循环语句
for循环
for (var i = 0; i < 9; i++){}
for循环语法组成:
- 定义初始值 如: var i = 0
- 设定循环成立的条件(条件成立循环继续, 不成立循环结束) 如: i < 9
- 条件成立会执行循环体中的内容(大括号包裹的内容就是循环体)
- 执行步长累加的操作 如: i++
for循环的两个关键字:
- continue(继续): 结束本轮循环, 循环体中continue后的代码不再执行, 继续当前循环的下一轮循环
- break(中断或结束): 强制结束整个循环, 不做任何处理, 循环体中break后的代码也不再执行
for (var i = 1; i <= 10; i += 2) {
if (i <= 5) {
i++;
continue;
} else {
i -= 2;
break;
}
// 下面两段代码根本不会被执行
i--;
console.log('>>', i)
}
console.log(i) // 5
原创文章,作者:tipak,如若转载,请注明出处:http://www.myqqu.com/note/javascript_lessons/js-caozuoyuju.html