什么是“
这个问题在这里已经有了答案:
|
在JavaScript中是一个整数按位或运算符。 在这种情况下,它会去除由parseFloat
返回的任何小数部分。 表达式parseFloat($(this).val())
将产生一个带有(可能)小数分量的数字,但是然后|0
将把它转换为一个整数,或者用0
表示它(这意味着它不会改变),所以总体结果是获得一个整数。
所以在功能上,它会截断数字的小数部分。 -1.5
变为-1
,和1.5
变为1
。 这就像Math.floor
,但截断而不是舍入“向下”( Math.floor(-1.5)
是-2
低的整数 - 而不是-1
因为|0
版本给了我们)。
所以也许这就是为什么它被用来切断(而不是“地板”)数字的小数部分。
或者,它可能是一个错字。 该代码的作者可能会写这个(注意||
而不是|
):
Total += parseFloat($(this).val()) || 0;
这抵御$(this).val()
返回""
或类似的可能性,导致parseFloat
返回NaN
。 它使用奇特强大的||
运算符在这种情况下返回0
而不是NaN
。 (并且有一条广告可以在你的运营商周围放置空间)。当添加到Total
,或者他们只是在防范NaN
情况时,必须知道代码的上下文来说明截断为整数( |
)是否NaN
。
|
javascript中的运算符是按位或运算符
该运算符将操作数视为32位整数,如果其中任何一个为1,则返回1,否则返回1。
链接地址: http://www.djcxy.com/p/77429.html