var -> et

This commit is contained in:
Ilya Kantor 2015-09-25 13:56:55 +02:00
parent 6a9f66ef27
commit 1d236fddf8
45 changed files with 305 additions and 295 deletions

View file

@ -9,14 +9,14 @@
Обычное функциональное выражение:
```js
var f = function(...) { /* тело функции */ };
let f = function(...) { /* тело функции */ };
```
Именованное с именем `sayHi`:
```js
//+ no-beautify
var f = function *!*sayHi*/!*(...) { /* тело функции */ };
let f = function *!*sayHi*/!*(...) { /* тело функции */ };
```
Что же это за имя, которое идёт в дополнение к `f`, и зачем оно?
@ -29,7 +29,7 @@ var f = function *!*sayHi*/!*(...) { /* тело функции */ };
```js
//+ run
var f = function sayHi(name) {
let f = function sayHi(name) {
alert( sayHi ); // изнутри функции - видно (выведет код функции)
};
@ -40,7 +40,7 @@ alert( sayHi ); // снаружи - не видно (ошибка: undefined var
```js
//+ run
var test = function sayHi(name) {
let test = function sayHi(name) {
*!*
sayHi = "тест"; // попытка перезаписи
*/!*
@ -80,7 +80,7 @@ function f(n) {
};
*!*
var g = f;
let g = f;
f = null;
*/!*
@ -93,11 +93,11 @@ alert( g(5) ); // запуск функции с новым именем - ош
```js
//+ run no-beautify
var f = function *!*factorial*/!*(n) {
let f = function *!*factorial*/!*(n) {
return n ? n**!*factorial*/!*(n-1) : 1;
};
var g = f; // скопировали ссылку на функцию-факториал в g
let g = f; // скопировали ссылку на функцию-факториал в g
f = null;
*!*
@ -115,7 +115,7 @@ alert( g(5) ); // 120, работает!
```js
//+ run
var f = function factorial(n) { /*...*/ };
let f = function factorial(n) { /*...*/ };
// в IE8- false
// в остальных браузерах ошибка, т.к. имя factorial не видно