或者运算符在这个JavaScript中做了什么?

Cra*_*2uk 4 javascript

所以我浏览JQuery源代码以获得更好的编程技巧,我发现了一些代码,我不知道发生了什么.

type = type || callback;
Run Code Online (Sandbox Code Playgroud)

谁能解释一下OR || 在变量赋值中做什么?

我做了一些实验,设置和取消设置值和什么不是,但我不是更聪明.

use*_*716 9

如果type是"假"值,则将将值callback分配给type变量,否则type将分配.

"假"值是:

  • false
  • null
  • undefined
  • 0
  • "" (空字符串)
  • NaN

所以基本上它说" typecallbackif 替换type任何一个假值".

考虑一下:

var type = undefined;

type = type || "default value";
Run Code Online (Sandbox Code Playgroud)

type变量最终将被"default value"分配.

如果它是这样的:

var type = "some value";

type = type || "default value";
Run Code Online (Sandbox Code Playgroud)

然后它会保持它的"some value".