gpt4 book ai didi

javascript - 异常的转换结束脚本行为

转载 作者:行者123 更新时间:2023-11-28 00:19:24 25 4
gpt4 key购买 nike

嘿大家看看下面的脚本::

  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"

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

  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(name); 位于 if 条件之前,那么为什么 if 条件会影响结果呢?

谢谢。

亚历克斯-z。

最佳答案

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

function myFunction() {
console.log('Hello');
return;

// Unreachable code; this will never run
console.log('World');
}

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

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

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

关于javascript - 异常的转换结束脚本行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30171017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com