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(name);
也在if
条件之前,为什么if
条件会影响结果?
谢谢。
Alex-z。
答案 0 :(得分:1)
这不是if语句,它是取消循环(和函数)的return语句。
function myFunction() {
console.log('Hello');
return;
// Unreachable code; this will never run
console.log('World');
}
循环中的返回语句完全相同。
function myFunction() {
for(var i = 0; i < 1024; i++) {
return i;
}
// Unreachable code
console.log('Hello World');
}