我遇到过一些 javascript 或 jQuery 函数,它们在方法末尾有一个封闭的值或对象。示例:
(function ($) {
var delay = 0;
$.fn.translate3d = function (translations, speed, easing, complete) {
var opt = $.speed(speed, easing, complete);
opt.easing = opt.easing || 'ease';
translations = $.extend({ x: 0, y: 0, z: 0 }, translations);
return this.each(function () {
var $this = $(this);
$this.css({
transitionDuration: opt.duration + 'ms',
transitionTimingFunction: opt.easing,
transform: 'translate3d(' + translations.x + 'px, ' + translations.y + 'px, ' + translations.z + 'px)'
});
setTimeout(function () {
$this.css({
transitionDuration: '0s',
transitionTimingFunction: 'ease'
});
opt.complete();
}, opt.duration + (delay || 0));
});
};
})(jQuery);
或者
<script type="text/javascript">
(function (d, t) {
<snip>
})(document, 'script');
</script>
函数末尾那些括号括起来的项的用途是什么?我在这里找到了几个答案,但没有任何解决办法。谢谢
最佳答案
它使用参数定义一个匿名函数,将值分配给函数的参数,然后调用它。
此方法的优点是,除了函数内之外,您不会在其他任何地方使用这些函数和变量,从而不会污染命名空间。
更详细地说,
(function() {} ...
声明匿名函数,并在末尾添加 ()
调用刚刚创建的函数。
关于javascript - jquery/javascript 速记,那些括号里是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18625427/