**Ошибка**! Попробуйте: ```js //+ run var obj = { go: function() { alert(this) } } (obj.go)() // error! ``` Причем сообщение об ошибке в большинстве браузеров не даёт понять, что на самом деле не так. **Ошибка возникла из-за того, что после объявления `obj` пропущена точка с запятой.** JavaScript игнорирует перевод строки перед скобкой `(obj.go)()` и читает этот код как: ```js var obj = { go:... }(obj.go)() ``` Интерпретатор попытается вычислить это выражение, которое обозначает вызов объекта `{ go: ... }` как функции с аргументом `(obj.go)`. При этом, естественно, возникнет ошибка.