update
This commit is contained in:
parent
962caebbb7
commit
87bf53d076
1825 changed files with 94929 additions and 0 deletions
|
@ -0,0 +1,24 @@
|
|||
**Ошибка**!
|
||||
|
||||
Попробуйте:
|
||||
|
||||
```js
|
||||
//+ run
|
||||
var obj = {
|
||||
go: function() { alert(this) }
|
||||
}
|
||||
|
||||
(obj.go)() // error!
|
||||
```
|
||||
|
||||
Причем сообщение об ошибке в большинстве браузеров не даёт понять, что на самом деле не так.
|
||||
|
||||
**Ошибка возникла из-за того, что после объявления `obj` пропущена точка с запятой.**
|
||||
|
||||
JavaScript игнорирует перевод строки перед скобкой `(obj.go)()` и читает этот код как:
|
||||
|
||||
```js
|
||||
var obj = { go:... }(obj.go)()
|
||||
```
|
||||
|
||||
Интерпретатор попытается вычислить это выражение, которое обозначает вызов объекта `{ go: ... }` как функции с аргументом `(obj.go)`. При этом, естественно, возникнет ошибка.
|
Loading…
Add table
Add a link
Reference in a new issue