javascript - 我可以始终使用++ 或 -- 作为 parseFloat 的简写吗?

标签 javascript

!! 总是可以很好地转换 StringundefinedObjectNumber 类型到 JavaScript 中的 Boolean 类型:

!!0           // false
!!1           // true
!!10          // true
!!""          // true
!!"any"       // true
!!undefined   // false
!!null        // false
!!NaN         // false
!!{}          // true

似乎使用 !! 是完全安全的。我见过有人用它来转换变量。

但我不确定 ++-- 是否可以将 String 类型转换为 Number 类型.在这些示例中,使用 ++ 进行转换看起来是安全的:

var ten = "10";
ten++  // 10

var nineHalf = "9.5";
nineHalf++ // 9.5

var n = "-10.06";
n++ // -10.06

是否存在 ++/-- 不能作为 parseFloat 工作的情况?

最佳答案

只需使用一个+(一元加运算符)。这是一种常见的做法,就像 bool 值的 !! 一样。

(+"10.06")

++ 版本让我害怕增量运算符在我不注意的时候做坏事。


编辑:当然,postIncrement 运算符甚至不适用于字符串文字。

"10.06"++  //syntax error

关于javascript - 我可以始终使用++ 或 -- 作为 parseFloat 的简写吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7720460/

相关文章:

javascript - 如何在 JavaScript 中监听 Ctrl-P 按键?

javascript - 在其他类中隐藏一个类不比较名为 "column"的类名

javascript - 相同的参数传递到 HTML 但不是按钮

javascript - jQuery Fancybox 无法识别元素

javascript - 如何使用angular js在表单上显示服务器端验证错误消息

c# - 如何为页面中的多个表格应用相同的样式

javascript - 如何在 JavaScript 和 Native Client 模块之间进行通信

javascript - backbone.js 的基本目的和好处是什么?

javascript - 如何从 jqXHR 对象获取 Access-Control-Allow-Origin 错误?

javascript - 访问数组中的单个项并将它们添加到总变量