Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery插件中使用箭头函数_Javascript_Jquery_This_Arrow Functions - Fatal编程技术网

Javascript 在jQuery插件中使用箭头函数

Javascript 在jQuery插件中使用箭头函数,javascript,jquery,this,arrow-functions,Javascript,Jquery,This,Arrow Functions,我正在写一个jQuery插件。但当我使用arrow函数扩展jQuery时,它似乎不起作用 这项工作: $.fn.extend({ func: function (params) { var ob = $(this); var selector = $(this).selector; var defaults = { }; params = $.extend(defaults, params);

我正在写一个jQuery插件。但当我使用arrow函数扩展jQuery时,它似乎不起作用

这项工作:

$.fn.extend({
    func: function (params) {
        var ob = $(this);
        var selector = $(this).selector;
        var defaults = {

        };

        params = $.extend(defaults, params);

        generate(ob, selector, params);
    }
});
但当我尝试使用arrow函数时,它会返回
窗口
对象:

$.fn.extend({
    func: (params) => {
        var ob = $(this); // returns window object
        var selector = $(this).selector;
        var defaults = {

        };

        params = $.extend(defaults, params);

        generate(ob, selector, params);
    }
});
我也尝试过使用
this.currentTarget
,但它返回
undefined


有人能告诉我我做错了什么吗?

这是因为在绑定
这个
时,不同的规则适用于箭头函数

箭头函数表达式的语法比函数短 表达式,并且不绑定自己的
参数
超级
,或
新建。目标


有关更多信息,请参阅。

这是意料之中的。常规函数具有指向jquery对象的
this
,而箭头函数具有root
this
context。要解释下一票吗?