Javascript 异常的transitionend脚本行为

Javascript 异常的transitionend脚本行为,javascript,Javascript,大家看一下下面的脚本: function transitionEnd() { var el = document.createElement('bootstrap') var transEndEventNames = { WebkitTransition : 'webkitTransitionEnd', MozTransition : 'transitionend', OTransition : 'oTransitionE

大家看一下下面的脚本:

  function transitionEnd() {
    var el = document.createElement('bootstrap')

    var transEndEventNames = {
      WebkitTransition : 'webkitTransitionEnd',
      MozTransition    : 'transitionend',
      OTransition      : 'oTransitionEnd otransitionend',
      transition       : 'transitionend'
    }

    for (var name in transEndEventNames) {
        console.log(name);
      if (el.style[name] !== undefined) {
        return { end: transEndEventNames[name] }
      }
    }
    return false // explicit for ie8 (  ._.)
  }

transitionEnd();
现在,当运行此脚本时,会将以下内容打印到控制台:

"WebkitTransition" 
"MozTransition"
现在,如果我删除
if
检查
for
循环的内部,并运行以下脚本:

  function transitionEnd() {
    var el = document.createElement('bootstrap')

    var transEndEventNames = {
      WebkitTransition : 'webkitTransitionEnd',
      MozTransition    : 'transitionend',
      OTransition      : 'oTransitionEnd otransitionend',
      transition       : 'transitionend'
    }

    for (var name in transEndEventNames) {
        console.log(name);
    }
    return false // explicit for ie8 (  ._.)
  }


transitionEnd();
打印的内容如下所示:

"WebkitTransition" 
"MozTransition" 
"OTransition" 
"transition"
为什么,我希望上面的结果会打印在两个脚本中,那么为什么我会得到不同的结果,还有
console.log(名称)
if
条件之前,那么为什么
if
条件会影响结果

多谢各位


亚历克斯-z

取消循环(和函数)的不是if语句,而是return语句

循环中的Return语句执行完全相同的操作

function myFunction() {
  for(var i = 0; i < 1024; i++) {
    return i;
  }

  // Unreachable code
  console.log('Hello World');
}
函数myFunction(){
对于(变量i=0;i<1024;i++){
返回i;
}
//不可达代码
log('helloworld');
}

您是第一套代码,对我来说效果很好。
function myFunction() {
  for(var i = 0; i < 1024; i++) {
    return i;
  }

  // Unreachable code
  console.log('Hello World');
}