settings.supportsCssTransitions = (function (style) {
var prefixes = ['Webkit', 'Moz', 'Ms'];
for (var i = 0, l = prefixes.length; i < l; i++) {
if (typeof style[prefixes[i] + 'Transition'] !== 'undefined') {
return true;
}
}
return false;
})(document.createElement('div').style);
&#13;
为什么要使用&#39;()&#39;支持匿名功能?什么是(document.createElement(&#39; div&#39;)。style)的用法?是每次我执行settings.supportsCssTransitions时,'document.createElement(&#39; div&#39;)。style'将是传递给匿名函数的默认参数?有人可以帮我解释一下吗?
答案 0 :(得分:1)
这是一个测试执行浏览器是否支持某些CSS属性的函数。
这构成了什么:
var result = (function(arg) { ...; return smth; })(arg)
确实创建了一个匿名函数并使用参数arg
立即执行它,然后将其返回值赋给result
。
使用一系列顶级语句可以实现相同的结果,但这样做是更好的格式化,因为函数内部使用的变量保留在其中。
document.createElement('div').style
位只是创建一个虚拟HTMLElement并将其style
属性传递给函数,然后对其进行分析。