我试图用函数返回的值声明一个变量:
var myValue = hot.getSettings();
但是,当getSettings()的返回值发生变化时,myValue的值会不断变化。如何将myValue定义为getSettings()函数的当前值,并将该值保存在myValue中,即使getSettings发生更改?
答案 0 :(得分:0)
你的问题就是hot.getSettings();返回引用而不是变量的副本 所以你只需要克隆那个变量
试试这个:
var value = hot.getSettings();
var myValue = $.extend(true, {}, value);
我希望它会有所帮助。
答案 1 :(得分:0)
如果你已经使用Handsontable,你可以使用它的助手来快速实现:
var snapshot = Handsontable.helper.deepClone(hot.getSettings());
这样你就可以创建一个设置对象的深层克隆,它不应再引用原始对象。
答案 2 :(得分:-1)
如果你想保留函数hot.getSettings()
可能返回的不同值,你需要将它们存储在某个地方,
for ex a Array:
var arr = []
var myValue = arr[0]
arr.push(hot.getSettings());//push returns the length , and you could use that for naming a key in an object if needed