Javascript 如何在每次引用对象时强制计算对象中的函数?

Javascript 如何在每次引用对象时强制计算对象中的函数?,javascript,object,Javascript,Object,如果创建对象,例如: var obj = { val1: 1, val2: Math.random() }; 实例化对象时,会立即计算Math.random(),并将结果分配给obj.val2 以后对obj.val2的每次引用都将返回此初始随机数 是否有办法在每次引用对象时强制重新计算此函数?因此,对obj.val2的每次引用都将重新运行Math.random(),生成一个新生成的随机数?您可以定义一个,这样每次访问属性时都可以运行一个函数,每次都返回一个新值 var ob

如果创建对象,例如:

var obj = {
   val1: 1,
   val2: Math.random()
   };
实例化对象时,会立即计算Math.random(),并将结果分配给obj.val2

以后对obj.val2的每次引用都将返回此初始随机数

是否有办法在每次引用对象时强制重新计算此函数?因此,对obj.val2的每次引用都将重新运行Math.random(),生成一个新生成的随机数?

您可以定义一个,这样每次访问属性时都可以运行一个函数,每次都返回一个新值

var obj={
val1:1,
获取val2(){
返回Math.random();
}
};
控制台日志(obj.val2)

console.log(obj.val2)
literal中的
get
函数绝对是这个简单案例的正确工具。我还可以指出更复杂的情况,我希望
varobj={val1:1,get val2:Math.random}是有效的语法糖。完美!正是我要找的!