我是一個函數,我有一個分配問題。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「與對象「數據」的內容)什麼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
您的代碼對我而言按預期工作 - 您可以創建一個可運行的示例 –
我無法重現此問題 - 或者以任何方式查看您的問題可以得到你做的結果。我可以理解得到的結果** **其他方式**與* new *值顯示之前和之後它被設置,並有[重複](https://stackoverflow.com/questions/23429203/weird-behavior -with-objects-console-log)。 – Quentin
是的它很奇怪..沒有意義 – haz