我正在编写一个 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
。
有人可以告诉我我做错了什么吗?
最佳答案
这是因为在绑定(bind) this
时,箭头函数适用不同的规则。
An arrow function expression has a shorter syntax than a function expression and does not bind its own
this
,arguments
,super
, ornew.target
.
参见this article了解更多信息。
关于javascript - 在 jQuery 插件中使用箭头函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43704847/