JS操作语句

判断语句

  1. if…else if…else 语句
  2. switch…case 语句
  3. 三元运算符

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: 当条件不成立什么也不做, 就在后面写nullundefinedvoide 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循环语法组成:

  1. 定义初始值 如: var i = 0
  2. 设定循环成立的条件(条件成立循环继续, 不成立循环结束) 如: i < 9
  3. 条件成立会执行循环体中的内容(大括号包裹的内容就是循环体)
  4. 执行步长累加的操作 如: i++

for循环的两个关键字:

  1. continue(继续): 结束本轮循环, 循环体中continue后的代码不再执行, 继续当前循环的下一轮循环
  2. 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