1:为什么结果foo && baz不是1?因为真是1.
var foo = 1;
var baz = 2;
foo && baz; // returns 2, which is true
Run Code Online (Sandbox Code Playgroud)
2:有两个优点console.log(foo + +bar);,它们的含义是什么?
var foo = 1;
var bar = '2';
console.log(foo + +bar);
Run Code Online (Sandbox Code Playgroud)
Fré*_*idi 10
那是因为&&(逻辑AND)运算符返回它计算的最后一个操作数的值.由于fooIS true,它有评估bar,以确定表达式的结果(也只会是true如果bar也true).
与||(逻辑OR)运算符相反.在那种情况下,因为foo是true,已知表达式的结果true无需评估bar,因此foo将返回值.
关于第二个问题,一元运算+符允许将字符串'2'转换为数字2.
| 归档时间: |
|
| 查看次数: |
147 次 |
| 最近记录: |