我正在调用这样的函数:
myfunc($tab, {'top-left', 'bottom-left'}, defaults.tabRounded);
功能定义是:
function myfunc(obj, properties, value) {
然而我收到错误“无效的对象初始化程序”。这是因为json参数吗?或其他什么?
答案 0 :(得分:6)
替换
myfunc($tab, {'top-left', 'bottom-left'}, defaults.tabRounded);
使用
myfunc($tab, ['top-left', 'bottom-left'], defaults.tabRounded);
{'top-left', 'bottom-left'}
不是对象,但{'top-left': 0, 'bottom-left': 10}
是一个对象。我假设你可能想要一个数组而不是一个对象。
答案 1 :(得分:2)
JavaScript对象是键/值对:
{
'top-left': 333,
'bottom-left': 444
}
https://developer.mozilla.org/en/JavaScript/Guide/Working_with_Objects#Using_Object_Initializers
答案 2 :(得分:0)
可能你想传递数组,而不是对象传递给函数:
myfunc($tab, ['top-left', 'bottom-left'], defaults.tabRounded);
否则,如果要传递对象,则需要指定键的值。类似的东西:
myfunc($tab, {'top-left': 100, 'bottom-left': 100}, defaults.tabRounded);
答案 3 :(得分:0)
您需要将属性命名为{x:'foo',y:'bar'},因为它们始终是键值对。