如何在Javascript中将对象作为参数传递

Posted

技术标签:

【中文标题】如何在Javascript中将对象作为参数传递【英文标题】:How to pass Object as a parameter in Javascript 【发布时间】:2013-04-09 13:53:13 【问题描述】:

我想在函数中传递对象。这是我的代码

var hyperLinkObj = new Object();
hyperLinkObj.path="abc";
hyperLinkObj.text="abctext";

'<li><a href="#" onclick="onItemClick(hyperLinkObj)">'+description+'</a></li>'

在这里我正在创建名为“hyperLinkObj”的对象现在我正在创建“li”标签并将超链接放入 li 现在当我检查时我得到类似

'<li><a href="#" onclick="onItemClick([object Object])">'+description+'</a></li>'

那么我怎样才能传递 hyperLinkObject ,就像在 onItemClick 中一样,我在这个 Object 上做了很多事情。

看看其实我想做这样的事情。

1] 有一个 Object 有很多 Category 所以想循环一下。 2] 然后在每个类别项目上单击想要使用 hyperLinkObj 调用 OnItemClcik 3] 然后点击 Hyperlink ,想要执行获取 Hyperlink.path 之类的操作并显示面包屑。 4] 最后我使用的是 Extjs 所以Ext.Panel.update("李文");

可能我没有提到 ExtJs.update.. 它没有按照你的建议工作..

你能解释一下我怎样才能做到这一点吗?

【问题讨论】:

与单击的列表项相关的对象应该引用什么? var hyperLinkObj = path: "abc", text: "abctext" ; 对象的首选语法。 hyperLinkObj 是在哪里创建的?全球范围?你能在 onItemClick 函数中展示你打算如何使用它吗? 【参考方案1】:

hyperLinkObj放在全局范围内,在onclick中引用。

hyperLinkObj = new Object();
hyperLinkObj.path="abc";
hyperLinkObj.text="abctext";
Ext.Panel.update('<li><a href="#" onclick=\'onItemClick(path:"'+hyperLinkObj.path+'",text:"'+hyperLinkObj.text+'")\'>'+description+'</a></li>')

[object Object]Object()toString(),不包含详细信息。

【讨论】:

我不能使用全局对象,因为它会在循环中。我已经解释了上面的场景【参考方案2】:

为复杂的点击功能使用绑定事件:

document.getElementById('anchorID').onclick=function()/* some code */

这对你来说会更容易。 看看这个小提琴: http://jsfiddle.net/anurag/amedr/

【讨论】:

不知道:/但如果您认为这是一个好的答案,请投票。 嗯...我不会为了取消他们的投票而投票。不过,我也不认为您的答案很好,因为它在某种意义上还不够完整,无法供张贴者使用,我只支持好的完整答案。我主要只是想知道为什么反对者认为它不好,因为你的答案背后的想法是正确的。

以上是关于如何在Javascript中将对象作为参数传递的主要内容,如果未能解决你的问题,请参考以下文章

在corda shell中将状态对象作为参数传递

如何在谷歌应用引擎 RPC 流中将对象作为参数传递?

如何在oracle中将对象类型的对象作为参数传递

在 Postman 中将类对象作为参数传递

如何在 WCF Rest Service 中将类对象作为参数传递

如何在Java中将泛型对象作为方法参数传递? [复制]