Javascript 为什么这个论点不起作用?

Javascript 为什么这个论点不起作用?,javascript,sankey-diagram,Javascript,Sankey Diagram,我试图动态生成值并将其传递给函数 这是我的密码 var color="{\"Hello\":\"#276040\"}"; alert(color); \\displays {"Hello":"#276040"} sankey.setColors(color); 当我将颜色变量传递给该函数时,它失败了 如果我直接给字符串,它就可以工作,而不是传递参数 sankey.setColors({"Hello":"#276040"}); //This works 原因是什么?如何克服这一点?假设参数的动

我试图动态生成值并将其传递给函数

这是我的密码

var color="{\"Hello\":\"#276040\"}";
alert(color); \\displays {"Hello":"#276040"}
sankey.setColors(color);
当我将颜色变量传递给该函数时,它失败了

如果我直接给字符串,它就可以工作,而不是传递参数

sankey.setColors({"Hello":"#276040"}); //This works

原因是什么?如何克服这一点?

假设参数的动态部分是键名称和值,您可以执行以下操作:

var keyName = 'Hello';
var keyValue = '#276040';
sankey.setColors( { keyName: keyValue} );

假设参数的动态部分是键名和键值,则可以执行以下操作:

var keyName = 'Hello';
var keyValue = '#276040';
sankey.setColors( { keyName: keyValue} );

var color在代码中包含一个字符串,请注意sankey.setColors需要什么。
“{\'Hello\':\”{276040\“}”和{“Hello”:“{276040”}不是相同的值。

var color在代码中包含字符串,请注意sankey.setColors需要什么。
“{\'Hello\':\”{276040\“}”和{“Hello”:“{276040”}的值不同。

将其作为对象。字符串不是将其作为对象的有效数据。字符串不是有效的数据

你能做小提琴吗?对象的字符串表示是字符串,而不是对象。你把事情搞混了。如果
setColors
需要一个对象,那么您需要传递一个对象。谢谢@elclans它可以工作了:)你会做小提琴吗?物体的字符串表示是字符串,而不是物体。你把事情搞混了。如果
setColors
需要一个对象,那么您需要传递一个对象。谢谢@elclans它可以工作了:)