相关疑难解决方法(0)

"var FOO = FOO || {}"(将变量或空对象分配给该变量)在Javascript中意味着什么?

看一下在线源代码,我在几个源文件的顶部看到了这个.

var FOO = FOO || {};
FOO.Bar = …;
Run Code Online (Sandbox Code Playgroud)

但我不知道是什么|| {}.

我知道{}是等于new Object(),我认为这||是为了"如果它已经存在使用其值,否则使用新对象.

为什么我会在源文件的顶部看到这个?

javascript namespaces variable-declaration or-operator

94
推荐指数
4
解决办法
2万
查看次数

在javascript中,对象值中的两条垂直线是什么意思?

可能重复:
什么是|| 操作员呢?

也许有人可以提供更好的代码片段,但||下面的含义是什么?:

var time =  $(el).data('start') || new Date();
Run Code Online (Sandbox Code Playgroud)

它是一个or运算符,如果是这样,变量可以有两个不同的值有什么意义呢?

javascript operators

19
推荐指数
3
解决办法
3万
查看次数

javascript:这是一个有条件的任务吗?

来自Google Analytics分析跟踪代码:

var _gaq = _gaq || [];
Run Code Online (Sandbox Code Playgroud)

这是如何运作的?

它是条件变量赋值吗?这跟说:

if( !(_gaq) ) {_gaq = []; }
Run Code Online (Sandbox Code Playgroud)

javascript

15
推荐指数
2
解决办法
1万
查看次数

JavaScript变量回退

请有人向我解释这行代码的作用:

var list  = calls[ev] || (calls[ev] = {});
Run Code Online (Sandbox Code Playgroud)

我最好的猜测:

它使用calls.xxx的值设置变量"list",其中xxx是变量ev.如果调用[ev]不存在,那么它将其创建为空对象并将该空对象分配给"list".是对的吗?

为什么要使用括号?我在哪里可以找到有关使用||的更多信息 何时设置变量,并在此上下文中使用括号?谢谢!

javascript variables fallback

11
推荐指数
3
解决办法
1万
查看次数

Javascript:false || undefined vs undefined || 假

对"||"的行为有什么解释 运算符(逻辑OR),在JavaScript中使用它falseundefined在两侧使用它?

1)

> false || undefined
undefined
Run Code Online (Sandbox Code Playgroud)

2)

> undefined || false
false
Run Code Online (Sandbox Code Playgroud)

javascript undefined logical-operators

4
推荐指数
1
解决办法
2817
查看次数

这段代码意味着什么([1,2,3] || 0)[0]

JavaScript中的闭包(脚本)实现称为"wisp"有这个片段:

(get [1 2 3] 1) ; => ([1, 2, 3] || 0)[0]
Run Code Online (Sandbox Code Playgroud)

这意味着wisp代码在JavaScript中编译为:

([1, 2, 3] || 0)[0]
Run Code Online (Sandbox Code Playgroud)

但为什么|| 0那里有部分?

javascript

2
推荐指数
1
解决办法
113
查看次数

"|| 0"在JavaScript中有什么作用?

我有一段JavaScript代码显示:

function(next, feather) {
  var l = Number(171) + (next || 0);
  var m = Math.max(1, l - 9);
  return {
    lc: 300 * (l + 1) * m + (5 * feather || 0)
  }
}
Run Code Online (Sandbox Code Playgroud)

现在我已经简化了一点.但任何人都可以解释"|| 0"的作用吗?据我所知,它什么也没做.

(注意我用Number(171)替换了一个函数,因为该函数有效地返回一个数字,羽毛也应该是一个数字,大部分时间是0,有时是1).

javascript

0
推荐指数
2
解决办法
136
查看次数