3

这纯粹是好奇。让我们写一个对象:

 var display = { res1:{ w:640, h:480 }, res2:{ w:320, h:240 }, nores:{} };

现在从这个对象,我们将nores属性发送到一个函数。因为nores是一个对象,所以我们改变的任何东西somefunction都会在后面看到display.nores

 somefunction(display.nores);

现在问题来了。鉴于 display 是在闭包内定义并在该闭包之外定义的,是否somefunction()有任何形式的访问display的其他属性(res1/ ) ?我的意思是它可以仅从作为参数传递的属性中引用整个对象吗?res2somefunction()displaynores

4

2 回答 2

4

鉴于 display 是在闭包内定义的,而 somefunction() 是在该闭包之外定义的, somefunction() 是否可以访问 display 的其他属性(res1 / res2)?

我的意思是它可以仅从作为参数传递的 nores 属性引用整个显示对象吗?

对象的属性与其值之间没有反向关系。找到它们的唯一方法是访问该对象,然后循环遍历它,直到找到匹配项。

于 2012-06-19T10:30:13.070 回答
2

,您不能从内部对象中获取外部对象。

您不能在 javascript 中“玩”引用地址,这是有充分理由的不允许的 -封装- 您不应该被允许触摸您没有“收到”的东西。

我不知道是否有一种语言可以实现这种事情,Maybe Maybe C

于 2012-06-19T10:30:22.977 回答