关于对象属性的困惑

时间:2012-05-21 21:40:23

标签: javascript object properties

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

object.color[]

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

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

4 个答案:

答案 0 :(得分:1)

不能这样做。为什么不直接传递对象并访问函数中的属性?

var object = {};

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

doStuff(object);

function doStuff(obj) {
    obj.color.push['purple'];
}

答案 1 :(得分:0)

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

var object2.color = object1.color;

现在通过object1object2都指向相同的color数组。

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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

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

等于

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

等于

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

- myfunc没有区别。