Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用基元值存储对变量的引用_Javascript - Fatal编程技术网

Javascript 使用基元值存储对变量的引用

Javascript 使用基元值存储对变量的引用,javascript,Javascript,我想写一个签名如下的函数 broadcast(centerPiece.rotation.y); 它存储传递的变量,并在随后的所有动画帧上发布变量处的值 问题是,我最感兴趣的是广播原始值,这意味着上面的函数在函数调用时获取原始值,并继续广播该固定值 目前我正在使用此解决方案 broadcast = function(obj,prop){ doBusinessLogicWith(obj[prop]) } 在代码中给我一个相当难看的签名 broadcast(centerPiece.rotati

我想写一个签名如下的函数

broadcast(centerPiece.rotation.y);
它存储传递的变量,并在随后的所有动画帧上发布变量处的值

问题是,我最感兴趣的是广播原始值,这意味着上面的函数在函数调用时获取原始值,并继续广播该固定值

目前我正在使用此解决方案

broadcast = function(obj,prop){
  doBusinessLogicWith(obj[prop])
}
在代码中给我一个相当难看的签名

broadcast(centerPiece.rotation,'y');
这目前是可行的,因为我只需要在对象上广播属性,但是。。。有点难看我是否有更好的选项来跟踪记录基元值的变量?

一个稍微不那么难看的选项可能是传递对获取当前值的函数的引用。比如:

broadcast = function(getValue){
  var curVal = getValue();
  doBusinessLogicWith(curVal);
}
然后用以下词语来称呼它:

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

不可以。只有属性可以用作引用。