2014-02-13 142 views
1

我想编写一个函数的签名像商店参考变量与原始值

broadcast(centerPiece.rotation.y); 

存储传递的变量和在那里毕竟动画帧的变量公布的值。

问题是我最喜欢广播原始值,这意味着上面的函数抓取函数调用时的原始值,并保持广播该固定值。

目前我使用此解决办法

broadcast = function(obj,prop){ 
    doBusinessLogicWith(obj[prop]) 
} 

给我在我的代码比较难看的签名看起来像

broadcast(centerPiece.rotation,'y'); 

目前这工作,因为我普遍只需要播出的对象的属性,但是......有点难看。 我是否有更好的选项来跟踪变量的故事原始值?

+0

号只有属性可以被用作参考。 – Bergi

回答

1

其中一个稍不难看选项可能会传递一个对获取当前值的函数的引用。喜欢的东西:

broadcast = function(getValue){ 
    var curVal = getValue(); 
    doBusinessLogicWith(curVal); 
} 

然后调用它:

broadcast(function() 
{ 
    return centerPiece.rotation.y; 
});