什么是“
这个问题在这里已经有了答案:
| 在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