这是我正在修改的JavaScript文件的第一行,它的作用是什么? jQuery也用在文件中。
var w = w || {};
据我所知,||是一个逻辑运算符,这是来自Mozilla文档的引用。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators#Logical_OR
逻辑运算符通常与布尔(逻辑)值一起使用。如果是,则返回布尔值。然而,&&和||运算符实际上返回一个指定操作数的值,因此如果这些运算符与非布尔值一起使用,它们可能会返回非布尔值。
答案 0 :(得分:2)
如果w包含非false值,则将w分配给w,否则将w设置为空对象。
答案 1 :(得分:2)
你应该看到该行作为缩短版本。
// declare w as a variable
var w;
// if w is already declared, leave it
if (!w) {
// if not make it an empty object
w = {};
}
在全局上下文中(我确定已定义),使用var不会覆盖现有的全局。
所以基本上,你要确保存在一个你可以存储属性的w的名称。
答案 2 :(得分:0)
这是为了检查'w'是真的还是假的。
如果它有任何值,则'w'是假的:
false
0
""
null
undefined
NaN
表达式(w || {})
如果不是假值,则返回'w'。否则,它将返回一个空数组。因此,当您在表达式中将其指定为“w”时:var w = w || {};
这只是一种确保'w'不是虚假值的方法,如果稍后在代码中使用它,则不会抛出任何错误。