beautify 1st part of the tutorial
This commit is contained in:
parent
e3dd2cedc0
commit
6444024a9d
327 changed files with 2358 additions and 1986 deletions
|
@ -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 раз.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue