Iveは割り当て問題があるImです。javascriptオブジェクトの値が期待どおりに動作しない
それは、トラブルシューティングにconsole.log文で次のようになります。
function myfunc()
{
the_node = some_array; //with data.$color = #111111
console.log('before: '+the_node.data["$color"]); //returns #111111
console.log(the_node); //returns #111111 (at data.$color)
the_node.data["$color"] = "#000000" ; //the assignment
console.log('after: '+the_node.data["$color"]); //returns #000000
console.log(the_node); //returns #111111 (should return #000000) (at data.$color)
}
興味深いのは、コンソール上で、私は右の値がthe_node.data $」変数の前と後に返さ得るということです。割当てを示す「色」がオブジェクト「the_node」内に割り当てられていない。
これは何が起こっているのですか?
(以下、オブジェクトとオブジェクトのthe_node」の内容は、「データ」です)
$$family: "class"
Config: {$extend: false, overridable: true, type: "multipie", color: "#e6e6e6", alpha: 1, …}
Edge: {$extend: false, overridable: false, type: "none", color: "#ccb", lineWidth: 1, …}
Label: {$extend: false, overridable: true, type: "Native", style: " ", size: 10, …}
Node: {$extend: false, overridable: true, type: "multipie", color: "#e6e6e6", alpha: 1, …}
_angularWidth: 1
_depth: 1
_flag: true
_treeAngularWidth: 3.1666666666666665
angleSpan: {begin: 0, end: 2.7762911822421428}
constructor: function()
data: Object
$alpha: "1"
$color: "#87b13e"
$dim-quotient: 1
$label-size: 15
$span: 2.7762911822421428
class: "trait"
color: "#000000"
trait: "endurance"
Object Prototype
あなたのコードは私にとって期待通りに機能します - 実行可能な例を作れますか? –
私は問題を再現できません - http://jsbin.com/motezewi/1/1/edit?js,output - あなたがする結果を得ることができます。私は**新しい*値が設定されて前後に表示され、** duplicates(https://stackoverflow.com/questions/23429203/weird-behavior)という**結果を**別の方法で得ることを理解できました。 -with-objects-console-log)を実行します。 – Quentin
はいその非常に奇妙なことは意味がありません – haz