beautify 1st part of the tutorial

This commit is contained in:
Ilya Kantor 2015-03-10 12:36:58 +03:00
parent e3dd2cedc0
commit 6444024a9d
327 changed files with 2358 additions and 1986 deletions

View file

@ -41,7 +41,9 @@
Например, была создана ссылка в переменной, и эту переменную тут же перезаписали:
```js
var user = { name: "Вася" };
var user = {
name: "Вася"
};
user = null;
```
@ -87,7 +89,11 @@ function marry(man, woman) {
}
}
var family = marry({ name: "Василий" }, { name: "Мария"});
var family = marry({
name: "Василий"
}, {
name: "Мария"
});
```
Функция `marry` принимает два объекта, даёт им ссылки друг на друга и возвращает третий, содержащий ссылки на оба.
@ -164,7 +170,7 @@ function showTime() {
function f() {
var value = 123;
function g() { } // g видна только изнутри
function g() {} // g видна только изнутри
}
f();
@ -178,7 +184,7 @@ f();
function f() {
var value = 123;
function g() { }
function g() {}
*!*
return g;
@ -197,7 +203,7 @@ var g = f(); // функция g будет жить и сохранит ссы
function f() {
var value = Math.random();
return function() { };
return function() {};
}
// 3 функции, каждая ссылается на свой объект переменных,
@ -212,15 +218,15 @@ var arr = [f(), f(), f()];
function f() {
var value = 123;
function g() { }
function g() {}
return g;
}
var g = f(); // функция g жива
var g = f(); // функция g жива
// а значит в памяти остается соответствующий объект переменных f()
g = null; // ..а вот теперь память будет очищена
g = null; // ..а вот теперь память будет очищена
```
</li>
@ -241,14 +247,14 @@ g = null; // ..а вот теперь память будет очищена
function f() {
var value = Math.random();
function g() {
debugger; // выполните в консоли alert(value); Нет такой переменной!
}
function g() {
debugger; // выполните в консоли alert( value ); Нет такой переменной!
}
return g;
}
var g = f();
var g = f();
g();
```
@ -263,14 +269,14 @@ var value = "Сюрприз";
function f() {
var value = "самое близкое значение";
function g() {
debugger; // выполните в консоли alert(value); Сюрприз!
}
function g() {
debugger; // выполните в консоли alert( value ); Сюрприз!
}
return g;
}
var g = f();
var g = f();
g();
```
@ -290,27 +296,27 @@ g();
```js
//+ run
function sumTo(n) { // обычный цикл 1+2+...+n
function sumTo(n) { // обычный цикл 1+2+...+n
var result = 0;
for (var i=1; i<=n; i++) {
for (var i = 1; i <= n; i++) {
result += i;
}
return result;
}
function sumToRec(n) { // рекурсия sumToRec(n) = n+SumToRec(n-1)
return n == 1 ? 1 : n + sumToRec(n-1);
return n == 1 ? 1 : n + sumToRec(n - 1);
}
var timeLoop = performance.now();
for (var i=1;i<1000;i++) sumTo(1000); // цикл
timeLoop = performance.now() - timeLoop;
for (var i = 1; i < 1000; i++) sumTo(1000); // цикл
timeLoop = performance.now() - timeLoop;
var timeRecursion = performance.now();
for (var i=1;i<1000;i++) sumToRec(1000); // рекурсия
for (var i = 1; i < 1000; i++) sumToRec(1000); // рекурсия
timeRecursion = performance.now() - timeRecursion;
alert("Разница в " + ( timeRecursion / timeLoop ) + " раз");
alert( "Разница в " + (timeRecursion / timeLoop) + " раз" );
```
Различие в скорости на таком примере может составлять, в зависимости от интерпретатора, 2-10 раз.