【发布时间】:2012-11-27 18:44:23
【问题描述】:
大家好,我正在使用 javascript 和 jsplumb 库 我遇到了问题,需要专家的帮助。
这是我的场景。
我有使用 jsplumb 库创建连接的函数。
createlink = function (arg1, arg2 , con) {
// doing some thing ;
con = jsPlumb.connect({
source: arg1,
target: arg2
});
// doing some thing
}
但问题是我想访问在该函数之外的creatlink() 函数中创建的相同con,所以我所做的是
/*calling the function by passing the con as refrence*/
var con;
createlink("a", "b", con);
con.setParameter('name', "mycon"); // error as con is undefined
我已经读过,在 JS 中对象可以作为输出参数传递或通过引用传递。
那么在我不想返回的函数之外访问我的 con 的正确和正确的方法应该是什么 因为这将创建一个单独的副本。
感谢任何帮助将不胜感激。
【问题讨论】:
-
在
createLink中将con中的var去掉,或者将var con替换为return,并且根本不需要传递引用参数。 -
... 与
con = jsPlumb.connect({...});一样,没有var -
非常感谢您的回复。我已经试过了。即已经删除了var。但它不工作。也不能返回它,因为我在 jsplumb.connect ({....}) 调用后做其他事情
-
别费心去改你的问题,即使有东西,你仍然可以缓存结果,最后返回。如果您真的想要通过引用进行参数,请将您的变量包装在
object或array中。 -
感谢您的回复。但是如果不将 con 作为参数传递,并且不将 var 放在 con 之前,将会使 congloble。我说的对吗??
标签: javascript pass-by-reference jsplumb