Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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_Function_Anonymous Function_Lazy Evaluation - Fatal编程技术网

Javascript 函数包装的最简单和最通用的形式是什么?

Javascript 函数包装的最简单和最通用的形式是什么?,javascript,function,anonymous-function,lazy-evaluation,Javascript,Function,Anonymous Function,Lazy Evaluation,javascript中最简单、最通用的函数包装器是什么?我有很多变量和对象,我需要在它们周围放置一个函数包装器。我目前正在使用: x = {a:function () {return aValue; }, b:function () {return bValue; }, c:'cString' }; 我有很多这样的变量和属性函数包装器,我希望用更少的编码来实现这一点 有没有这样的形式: x = {a:wrap(aValue), b:wrap(bValue), c:'cString'} 。。。

javascript中最简单、最通用的函数包装器是什么?我有很多变量和对象,我需要在它们周围放置一个函数包装器。我目前正在使用:

x = {a:function () {return aValue; }, b:function () {return bValue; }, c:'cString' };
我有很多这样的变量和属性函数包装器,我希望用更少的编码来实现这一点

有没有这样的形式:

x = {a:wrap(aValue), b:wrap(bValue), c:'cString'}
。。。或者类似的(甚至是一个遍历所有属性的循环),在这些属性周围放置一个函数包装器,以便我以后可以使用get函数来计算属性值

我的get函数如下所示:

function get(e) {return (typeof e === 'function') ? e () : e; }

谢谢

我从未觉得有必要包装我的财产。你为什么?是的,看起来像个XY问题。。。你到底想做什么?您不能将所有内容存储在对象中并在其中查找属性吗?因为我需要稍后(延迟地)对它们进行求值,因为先前数组元素和/或对象的处理可能会影响状态,因此后续属性和变量需要根据当前状态(求值时)确定。有关问题和解决方案,请参见链接:由于JS没有宏,
wrap(aValue)
将在那时计算
aValue
,如果不编写显式函数,您将无法获得惰性计算。