函数默认初始化中的按位或含义是什么?

时间:2014-01-26 21:44:06

标签: javascript

我有一些代码

function x() {
    this.type = 'image' | 'file';
    // ...
}

按位or是什么意思?该函数不会生成错误,但我只是不理解代码。

1 个答案:

答案 0 :(得分:0)

  

按位或意思是什么?

嗯,这是一个按位OR。问程序员它应该是什么意思 - 虽然这似乎是一个错误。

  

那它做了什么?

它将两个参数转换为数字(这将导致两个字符串为NaN)然后转换为32位整数(这将导致0),然后将它们转换为零。这将永远发生,因此它相当于this.type = 0;

  

可能意味着什么?

“默认”运算符||可能是常见且类似的,但在这里对我没有意义(构造函数中没有参数,操作数不是变量)。我的猜测是:

  • +运算符将连接两个字符串,并且位于某些键盘上的|键旁边 - 但使用单个字符串文字会更合理
  • 操作数应该是数字常量(变量?某些东西的属性?),对象的type属性表示各种类型的位掩码。