所以我浏览JQuery源代码以获得更好的编程技巧,我发现了一些代码,我不知道发生了什么。
type = type || callback;
任何人都可以解释一下OR ||正在进行变量赋值?
我做了一些实验,设置和取消设置值以及什么不是,但我不是更聪明。
答案 0 :(得分:9)
如果type
是“falsey”值,则callback
的值将分配给type
变量,否则将分配type
。
“假”值是:
false
null
undefined
0
""
(空字符串)NaN
基本上,如果type
是任何一个假名“,那么将callback
替换为type
。
考虑一下:
var type = undefined;
type = type || "default value";
type
变量最终会被"default value"
分配。
如果是这样的话:
var type = "some value";
type = type || "default value";
然后它会保留"some value"
。
答案 1 :(得分:2)
如果当前值不是“truthy”,它将变量“type”设置为其当前值或“callback”值。如果“type”是undefined
,或null
,或0,或空字符串,或布尔false
,那么它将被设置为“callback”的值。
编辑 oops或NaN
答案 2 :(得分:0)
所以我看到多个变量可以“链接”在一起并且分配了第一个“非假名”值。
var val, a, b, c;
a = undefined;
b = null;
c = "C";
val = a || b || c;
alert(val);
这非常方便。