Javascript 函数包装的最简单和最通用的形式是什么?
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'} 。。。
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
,如果不编写显式函数,您将无法获得惰性计算。