【问题标题】:What does this mean in JavaScript: var controller = controller || {}; [duplicate]这在 JavaScript 中是什么意思: var controller = controller || {}; [复制]
【发布时间】:2019-04-01 05:51:35
【问题描述】:

这段 JavaScript 代码是什么意思?这将评估什么以及括号的作用是什么?

 /**
 * View Controller
 * @type {Object}
 */

var controller = controller || {};

【问题讨论】:

  • 大括号 {} 是一个空对象字面量。管道|| 表示“或”。如果controller 存在,则为var controller = controller;,否则为var controller = {};
  • 这种类型的东西只在顶层有意义,顺便说一下——当你不知道controller是否已经在当前范围内声明时。例如,通常相当于浏览器中的if (!window.controller) { window.controller = {}; }
  • 感谢您的解释和帮助

标签: javascript


【解决方案1】:

为避免混淆,我将使用不同的变量名:

var controller = cont || {};

此表达式将检查cont 的值,如果是undefined,则将{} 或空对象分配给controller。如果cont 有一个值,controller 将被赋予该值。

【讨论】:

  • 谢谢。我现在明白了很多
【解决方案2】:
var controller = controller || {};

所以它只是意味着如果 controller is undefined 作为默认值 {} ,将被初始化为该特定变量。

这里的|| 只是一个OR operator,您可能在条件语句中使用过它。

【讨论】:

  • 我明白了,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-07
  • 2012-06-30
  • 2011-11-18
  • 2011-06-20
  • 2015-07-15
  • 2018-07-17
  • 2023-03-31
相关资源
最近更新 更多