let obj = {
event: (function() {
return new Date() + Math.random().toString(36).substr(2)
}())
}
let _f = (o) => {
console.log(o)
}
let _t = (o) => {
console.log(o)
}
(() => {
_f(obj)
setTimeout(()=>{
_t(obj)
},3000)
})()
{ event: 'Fri Sep 09 2022 14:14:35 GMT+0800 (中国标准时间)ccr1botim66' }
{ event: 'Fri Sep 09 2022 14:14:35 GMT+0800 (中国标准时间)ccr1botim66' }
打印出来不一样的随机值
这里定义的时候函数后面加了(),那就已经执行了,什么时候输出值都是一样的,要想不一样,这里得是函数,调用时再执行
let obj = {
event: (function() {
return new Date() + Math.random().toString(36).substr(2)
}())
}