这个if语句在Bootstrap模态源代码中返回空的是什么?

时间:2015-10-01 14:08:46

标签: javascript twitter-bootstrap bootstrap-modal

我正在检查bootstrap模态源代码,并找到了这样的一行。这if (!this.isShown || e.isDefaultPrevented()) return做了什么?在我看来,if()中的代码是否被评估为falsetrue,此代码段中的其余代码仍将被执行。那么设置这样的行有什么意义呢return为空?

   Modal.prototype.hide = function (e) {
    if (e) e.preventDefault()

    e = $.Event('hide.bs.modal')

    this.$element.trigger(e)

    if (!this.isShown || e.isDefaultPrevented()) return

    this.isShown = false

    this.escape()
    this.resize()

    $(document).off('focusin.bs.modal')

    this.$element
      .removeClass('in')
      .attr('aria-hidden', true)
      .off('click.dismiss.bs.modal')
      .off('mouseup.dismiss.bs.modal')

    this.$dialog.off('mousedown.dismiss.bs.modal')

    $.support.transition && this.$element.hasClass('fade') ?
      this.$element
        .one('bsTransitionEnd', $.proxy(this.hideModal, this))
        .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
      this.hideModal()
  }

2 个答案:

答案 0 :(得分:1)

if (!this.isShown || e.isDefaultPrevented()) return;

这更像是

的单行
if (!this.isShown || e.isDefaultPrevented()){
    return;
} 

这只是意味着如果已经显示模态(this.isShown将为真)或者如果事件的默认操作被阻止,则只需从此方法返回without executing any further statements - 在这种情况下,它意味着不要不要隐藏模态。

答案 1 :(得分:1)

return指令是立即执行并中断函数的执行。因此,任何后续指令都不会被执行。