我正在制作一个JQuery插件,每个元素应该有自己的变量。我认为这样做的正确方法是:
Map<..., File>
但它不起作用:参数对象是全局的,因此在调用插件的所有元素之间共享。
这个例子有什么不对?
非常感谢。
答案 0 :(得分:0)
使用var parameters = $.extend(defaults, options);
,parameters
是对(扩展)defaults
对象的引用。
请记住,目标对象(第一个参数)将被修改, 并且还将从$ .extend()返回。
您需要创建一个新的对象引用,将空的对象引用到jQuery extend()
方法:
var parameters = $.extend({}, defaults, options);
这相当于:
var parameters = $.extend(JSON.parse(JSON.stringify(defaults)), options);