0

我正在尝试动态生成值并将其传递给函数。

这是我的代码,

var color="{\"Hello\":\"#276040\"}";
alert(color); \\displays {"Hello":"#276040"}
sankey.setColors(color);

当我将颜色变量传递给该函数时,它失败了。

如果我直接给出字符串,而不是传递参数,它会起作用。

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

是什么原因?我该如何克服呢?

4

3 回答 3

3

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

var keyName = 'Hello';
var keyValue = '#276040';
sankey.setColors( { keyName: keyValue} );
于 2014-02-04T06:18:33.367 回答
2

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

于 2014-02-04T06:19:15.370 回答
1

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

于 2014-03-13T19:11:14.447 回答