逗号运算符
- 在JavaScript中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把多个表达式连接起来组成一个表达式, 称为逗号表达式。
- 一般形式形式: 表达式1,表达式2,… …,表达式n;
- 例如: a = 1 + 1,b = 3 * 4, c = 10 / 2;
- 求值过程
- 表达式1,表达式2,… …,表达式n;
- 逗号表达式的运算过程是:先算表达式1,再算表达式2,依次算到表达式n
- 整个逗号表达式的值是最后一个表达式的值
var a, b, c, d; /* 1.先计算表达式1, a = 2 2.再计算表达式2, b = 12 3.再计算表达式3, c = 5 4.将表达式3的结果返回给d */ d = (a = 1 + 1,b = 3 * 4, c = 10 / 2); console.log(d); // 5
- 逗号运算符使用注意
- 程序中使用逗号表达式,通常是要分别求逗号表达式内各表达式的值,并不一定要求整个逗号表达式的值。
- 并不是在所有出现逗号的地方都组成逗号表达式,例如在变量说明中,函数参数表中逗号只是用作各变量之间的间隔符。
var a, b, c; //这里的逗号只是分隔符 function sendMessage(num, content) { //这里的逗号只是分隔符 console.log(num, content); }
三目运算符(条件运算符)
- 格式: 条件表达式 ? 语句1 : 语句2;
- 求值规则:
- 如果条件表达式为true,则执行语句1,并返回执行结果
- 如果条件表达式为false,则执行语句2,并返回执行结果
// 弹第一个 true?alert("语句1") : alert("语句2"); // 弹第二个 false?alert("语句1") : alert("语句2");
- 求值规则:
- 注意点:
- 条件运算符?和:是一对运算符,不能分开单独使用
- 如果条件的表达式的求值结果是一个非布尔值, 会将其转换为布尔值然后在运算
// 弹第二个 null?alert("语句1") : alert("语句2"); // 弹第一个 "abc"?alert("语句1") : alert("语句2");