0

我将对象的属性传递给函数。这个属性恰好是一个数组。

object.color[]

无论如何我可以获得该属性所属的对象的名称吗?

我想这样做,而不必将对象和属性都传递给函数。

4

4 回答 4

1

做不到。为什么不只传递对象并访问函数中的属性?

var object = {};

object.color = ['red', 'green', 'blue']

doStuff(object);

function doStuff(obj) {
    obj.color.push['purple'];
}
于 2012-05-21T21:52:37.423 回答
0

不,您必须传递整个对象。为什么需要包含此属性的对象名称?你会用它做什么?你知道几个变量可以指向同一个对象,而几个对象可以指向同一个数组吗?

var object2.color = object1.color;

当您现在通过object1并且object2都引用同一个color数组时。

于 2012-05-21T21:48:21.260 回答
0

不,您不能从属性中获取对象名称。

为什么不传递对象并在函数中获取它的属性?

于 2012-05-21T21:48:53.017 回答
0

不,你不能。javascript 对象(在本例中为数组)没有像 DOM 节点那样的“父级”。如果您将对象传递给函数,则该函数将只知道该对象而不会知道其他任何内容。

var myob = { color: ["abc", "def"] };
myfunc(myob.color);

等于

var myarr = ["abc", "def"];
myfunc(myarr);

等于

myfunc(["abc", "def"]);

- 没有区别myfunc

于 2012-05-21T21:50:26.090 回答