JavaScript - 这些值赋值(使用| =作为运算符)是什么意思?

时间:2016-03-21 14:55:03

标签: javascript

今天我看到了这些代码片段:

  /**
     * @param src: any variable of any type
     * @param html: output format (true|false); default = false
     * @param level: (internal, don't use)
     *
     * @return string: formatted output
     */
    function showObj(src, html, level) {
      level |= 0;

完整的脚本: https://codereview.stackexchange.com/questions/123283/helper-function-to-format-output-any-type-of-variable

| =(在“level | = 0”中)的值赋值是什么?

我以前没见过它,也找不到任何相关内容。

2 个答案:

答案 0 :(得分:4)

那(|)是bit wise or operator,通常用于必须截断数字小数点的情况。

var level = 2.444434;
level |= 0; // level = level | 0;
console.log(level) // 2

答案 1 :(得分:2)

  

按位OR赋值运算符使用二进制表示   两个操作数,对它们进行按位OR运算并分配   导致变量。

现场演示



var bar = 5;
bar |= 2; // 7

alert(bar)




Source