let a = { a:1, b:(function(){ console.log(1111111111) })() }
在控制台输入这些会有log 1111111111 产生,但是这有什么意义? 为何这个会被执行?这不是一个属性的值吗?
若打印a.b 则得到undefined 为什么?
困惑
收起
当前问题酬金
¥ 0 (可追加 ¥500)
支付方式
扫码支付
支付金额 15 元
提供问题酬金的用户不参与问题酬金结算和分配
支付即为同意 《付费问题酬金结算规则》
立即执行函数可以一直保持运行状态 里面的变量又不会被外面访问到
你这个例子 没有返回东西给b 感觉意义不大 一般是返回东西给b的 比如下面这样的:
let a = { a:1, b:(function(){ var i=1; return function(){return i++;} })() }
使用的时候 是 a.b()
报告相同问题?
程序员都在用的中文IT技术交流社区
专业的中文 IT 技术社区,与千万技术人共成长
关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!