通常,当您使用 defaultOptions 扩展选项时,您会创建一个新对象,但我想重新使用选项对象。请参见下面的代码。
我基本上想做以下事情:
var defaultOptions = {'width': '10px', 'size': '10px'};
var options = {'width': '300px', 'name': 'sam'};
// I want to re-use the same options variable as target for extend
var optionsAfterExtend = $.extend(options, defaultOptions, options);
// should return true
alert(options.width == '300px');
alert(optionsAfterExtend == '300px');
alert(options.size == '10px');
alert(optionsAfterExtend == options);
// Because I may add extra info to the options object which the client using my plugin can use / re-use
optionsAfterExtend.data = 'sam';
// So now optionsAfterExtend.data and options.data should both equal 'sam'
尝试搜索了很长时间并阅读了 jquery 扩展文档,但找不到合适的方法。我想要这个只是愚蠢吗?即使是这样,我仍然很好奇如何以一种好的方式做到这一点。