这些JS片段中的哪一个在风格方面更好?检查字符串是否符合数字的好风格?
var answer = Number(prompt('What is the value of 2 + 2?'));
if (answer === 4) {
// do something
}
与
var answer = prompt('What is the value of 2 + 2?');
if (answer == 4) {
// do something
}
我想说的第一个是更好,因为它更明确的(没有强制类型转换会发生)。
人们一直在建议'parseInt(n,10)'。 '+ n'相当于更短。深奥的,但在JavaScript专业人员中很好理解,你很快就会习惯它。 –
@Chris所以,+ n是否使用parseInt函数来进行转换? – helpermethod
不,实际上;在我看来,它所做的是更好地处理这种情况。虽然'parseInt('2,也许',10)'或'parseInt('2.345',10)'会返回2,'+'2,也许''会返回'NaN'和'+'2.345' '会返回'2.345'(所以,一个数字,但不是一个整数)。 '+'一元运算符基本上调用'Number',而'parseInt'接受第一个块(删除空格,拆分标点符号)并尝试将其作为一个整数(基数由radix参数指定,或者它猜测8,10或16 - '号码'会猜测10或16)。 –