javascript - jquery/javascript 速记,那些括号里是什么?

标签 javascript jquery

我遇到过一些 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/

相关文章:

javascript - 在移动设备上更改基于滚动的淡入淡出?

jquery - 在 POST 之前从按钮提交的 SelectList 中选择所有选项

javascript - 在像素高度滚动时淡出

Javascript 信用卡有效期验证

javascript - 使用 jQuery 获取 html 字符串的一部分

javascript - 使用 React 和 Meteor 时是否可以进行热重载?

javascript - GetAddress.io 和 'No Access Control Allow Origin' 错误

jquery 定制的 html5 视频在 ipod 中不起作用

javascript - jQuery-UI 可排序 : Animate from original position to new after helper drop

javascript - React-Redux 中的倒计时功能