function and(a, b) { return !!(a && b) //如果a为true,b为非Boolean就会返回非Boolean值,所以加一步转换 }
且运算符"&&"的运算规则是:如果第一个运算子的布尔值为true,则返回第二个运算子的值(注意是值,不是布尔值);如果第一个运算子的布尔值为false,则直接返回第一个运算子的值,且不再对第二个运算子求值。
function and(a, b) { return !!(a && b) //如果a为true,b为非Boolean就会返回非Boolean值,所以加一步转换 }
且运算符"&&"的运算规则是:如果第一个运算子的布尔值为true,则返回第二个运算子的值(注意是值,不是布尔值);如果第一个运算子的布尔值为false,则直接返回第一个运算子的值,且不再对第二个运算子求值。