例如,对于这个例子,我们给定一个直角三角形的两条边的长度,需要求第三条边的长度
function calculateHypotenuse(a,b){
if (!+a || !+b || typeof(a) != 'number' || typeof(b) != 'number' || a<0 || b<0)
throw 'error';
return Math.sqrt(a*a + b*b).toFixed(3);
}
在这个例子中 +a 代表什么呢?
经过测试 a 对于 string 类型,0 都满足 !+a;
var a = 1;
console.log(+a); //1
console.log(a); //1
console.log(++a); //2
console.log(a++); //2
console.log(a++) //3
而在这里,+a 好像并没有改变 a 的值。。