【发布时间】:2016-03-09 02:37:44
【问题描述】:
我知道 Javascript 中的对象是通过引用传递的,但是有没有办法将对象作为值返回。
当多次调用 decodePermissions() 时,它们总是共享同一个对象。所以我的问题是,有没有办法为每个调用创建对象?
function decodePermissions(table, group) {
return {
add: canPerformAction(table, group, ACTION.ADD),
edit: canPerformAction(table, group, ACTION.EDIT),
delete: canPerformAction(table, group, ACTION.DELETE)
}
}
【问题讨论】:
-
你的
return语句每次都要创建一个对象,所以这里就不分享了。真正的问题是什么? -
为什么不直接将共享对象传递给函数并在函数内部返回呢?
标签: javascript object pass-by-reference creation