我将对象的属性传递给函数。这个属性恰好是一个数组。
object.color[]
无论如何我可以获得该属性所属的对象的名称吗?
我想这样做,而不必将对象和属性都传递给函数。
我将对象的属性传递给函数。这个属性恰好是一个数组。
object.color[]
无论如何我可以获得该属性所属的对象的名称吗?
我想这样做,而不必将对象和属性都传递给函数。
做不到。为什么不只传递对象并访问函数中的属性?
var object = {};
object.color = ['red', 'green', 'blue']
doStuff(object);
function doStuff(obj) {
obj.color.push['purple'];
}
不,您必须传递整个对象。为什么需要包含此属性的对象名称?你会用它做什么?你知道几个变量可以指向同一个对象,而几个对象可以指向同一个数组吗?
var object2.color = object1.color;
当您现在通过object1
并且object2
都引用同一个color
数组时。
不,您不能从属性中获取对象名称。
为什么不传递对象并在函数中获取它的属性?
不,你不能。javascript 对象(在本例中为数组)没有像 DOM 节点那样的“父级”。如果您将对象传递给函数,则该函数将只知道该对象而不会知道其他任何内容。
var myob = { color: ["abc", "def"] };
myfunc(myob.color);
等于
var myarr = ["abc", "def"];
myfunc(myarr);
等于
myfunc(["abc", "def"]);
- 没有区别myfunc
。