如果在属性中传递了具有属性的对象,则IIFE Javascript错误

时间:2017-05-06 03:08:37

标签: javascript

SQL

为什么我不能将globalVar.object1.object2作为对象传递给var x?它会返回错误

VM3167:5未捕获的TypeError:无法设置未定义的属性'hello'

1 个答案:

答案 0 :(得分:4)

这是因为IIFE之前缺少分号。

因此,IIFE的外部对象被视为跟踪对象文字的函数调用,但这并不会导致错误,因为首先会对调用的args进行求值。在这种情况下,参数将是调用IIFE的结果,这意味着您在分配给.object2的表达式完全完成之前尝试将.object2传递给IIFE,这意味着{ {1}}尚不存在。