Gia*_*o M 1 javascript ternary-operator variable-assignment
我有这个代码行:
const my_v = !isNaN(parseInt(jQuery('#id').val())) ? parseInt(jQuery('#id').val()) : 0;
Run Code Online (Sandbox Code Playgroud)
如您所见,我调用了该parseInt函数两次。
我想知道是否有办法完成一次调用该函数的赋值。
的结果将parseInt()是数字或NaN,因此您可以使用||:
const my_v = parseInt(jQuery("#id").val()) || 0;
Run Code Online (Sandbox Code Playgroud)
现在,总的来说,我会警告任何人不要使用parseInt(),因为(按照设计)它接受像“123hello world”这样的字符串作为有效数字(123在这种情况下)。您可以使用Number()构造函数或普通一元+将字符串强制转换为数字。如果你不想要小数部分,你可以使用Math.floor()或,你可以用Math.round()数字检查是否有小数部分是否应该被视为错误。