【发布时间】:2017-09-28 00:38:48
【问题描述】:
我正在编写一个 jQuery 插件。但是当我使用箭头函数扩展jQuery时,它似乎不起作用。
这行得通:
$.fn.extend({
func: function (params) {
var ob = $(this);
var selector = $(this).selector;
var defaults = {
};
params = $.extend(defaults, params);
generate(ob, selector, params);
}
});
但是当我尝试使用箭头函数时,它返回给我window 对象:
$.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。
谁能告诉我我做错了什么??
【问题讨论】:
-
这是意料之中的。正则函数有
this指向jquery对象,箭头函数有根this上下文。 -
想解释一下否决票?
标签: javascript jquery this arrow-functions