update
This commit is contained in:
parent
962caebbb7
commit
87bf53d076
1825 changed files with 94929 additions and 0 deletions
|
@ -0,0 +1,21 @@
|
|||
**Первый код выведет `function ...`, второй -- ошибку во всех браузерах, кроме IE8-.**
|
||||
|
||||
```js
|
||||
//+ run untrusted
|
||||
// обычное объявление функции (Function Declaration)
|
||||
function g() { return 1; };
|
||||
|
||||
alert(g); // функция
|
||||
```
|
||||
|
||||
Во втором коде скобки есть, значит функция внутри является не `Function Declaration`, а частью выражения, то есть `Named Function Expression`. Его имя видно только внутри, снаружи переменная `g` не определена.
|
||||
|
||||
```js
|
||||
//+ run untrusted
|
||||
// Named Function Expression!
|
||||
(function g() { return 1; });
|
||||
|
||||
alert(g); // Ошибка!
|
||||
```
|
||||
|
||||
Все браузеры, кроме IE8-, поддерживают это ограничение видимости и выведут ошибку, `"undefined variable"`.
|
|
@ -0,0 +1,20 @@
|
|||
# Проверка на NFE
|
||||
|
||||
[importance 5]
|
||||
|
||||
Каков будет результат выполнения кода?
|
||||
|
||||
```js
|
||||
function g() { return 1; }
|
||||
|
||||
alert(g);
|
||||
```
|
||||
|
||||
А такого? Будет ли разница, если да -- почему?
|
||||
|
||||
```js
|
||||
(function g() { return 1; });
|
||||
|
||||
alert(g);
|
||||
```
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue