任何人都可以告诉我如何调用这种语法及其作用?

时间:2014-07-18 09:56:57

标签: javascript

我正在阅读Ionic的消息来源,并在这里偶然发现了这一部分。

fromTemplateUrl: function(url, options, _) {
  var cb;
  //Deprecated: allow a callback as second parameter. Now we return a promise.
  if (angular.isFunction(options)) {
    cb = options;
    options = _;
  }
  return $ionicTemplateLoader.load(url).then(function(templateString) {
    var modal = createModal(templateString, options || {});
    cb && cb(modal);
    return modal;
  });
}

第10行的语法是什么,“cb&& cb(modal);”,被调用以及它做了什么?

条件&&令我困惑的是

2 个答案:

答案 0 :(得分:3)

感谢大家,jon的答案,

的缩短方式
if(cb) cb(modal)

结合Assignment with double ampersand "&&"的解释回答我的问题

我会记住这是“短暂存在语法”

答案 1 :(得分:2)

undefined && 42 // undefined, the second part wouldn't be evaluated
'defined' && 42 // 42
undefined || 42 // 42
'defined' || 42 // 'defined', the second part wouldn't be evaluated

这样就可以了。