2016-09-14 2 views
0

私は関数によって返された値で変数を宣言しようとしています:リターン変更与えられた時間に関数値として変数を宣言 - ない関数自体

var myValue = hot.getSettings(); 

しかし、myValueの値は保持しますgetSettings()の値が変更されます。 getSettings()関数の値として現在ののmyValueを定義し、その値をmyValueに保存するにはどうすればよいですか? EX用

+0

'getSettings'は何を返しますか? – deceze

+0

あなたはhot.getSettings()から値を返し、何を返すのですか? –

+0

getSettingsはHandsontableで宣言されたgetSettings-functionです。 handontableインスタンスの現在の設定を保存します。私がしようとしていることは、現在のインスタンスを保存することです - しかし、私が保存したものは変わり続ける。 http://docs.handsontable.com/0.16.1/Core.html#getSettings – user2806026

答えて

0

あなたの問題、それhot.getSettings()という。参照変数ではなく のコピーを返すので、あなただけの変数

はこの試みることをクローンを作成する必要があります。私はそれに役立つことを願っています

var value = hot.getSettings(); 
var myValue = $.extend(true, {}, value); 

を。

var snapshot = Handsontable.helper.deepClone(hot.getSettings()); 

参照すべきではない、あなたがオブジェクトの設定の深いクローンを作成します。この方法で、:あなたはすでにHandsontableを使用している場合

-1

あなたは機能hot.getSettings()は、あなたがどこかにそれらを格納する必要が返されることがあります別の値を節約したい場合は、

アレイ:

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 
+0

私がやって始まった正確に何です、配列の値は変化し続けます。 – user2806026

+0

@ user2806026何か別のものを指し示す何かを返すと、何かが変わると何かが変わります。これがあなたの状況であれば、最も簡単な解決策は[返品オブジェクトのコピーを作る]ことです(http://stackoverflow.com/questions/122102/what-is-the-most-efficient-way-to-deep-clone-an -object-in-javascript?noredirect = 1&lq = 1) – maioman

0

、あなたはその本当の迅速な操作を行うために、そのヘルパーを使用することができますもう元のものです。

関連する問題