minor renovations, beautify round 2 (final)

This commit is contained in:
Ilya Kantor 2015-03-12 10:42:43 +03:00
parent 8410ce6421
commit 14d324c9e4
9 changed files with 26 additions and 23 deletions

View file

@ -47,7 +47,7 @@ while (true) {
//+ run
var i = 3;
*!*
while (i) { // при i=0 значение в скобках будет false и цикл остановится
while (i) { // при i, равном 0, значение в скобках будет false и цикл остановится
*/!*
alert( i );
i--;
@ -126,7 +126,7 @@ for (i = 0; i < 3; i++) {
```js
//+ run no-beautify
for (*!*var*/!* i=0; i<3; i++) {
for (*!*var*/!* i = 0; i < 3; i++) {
alert(i); // 0, 1, 2
}
```

View file

@ -67,13 +67,13 @@ alert( message ); // <-- будет ошибка, т.к. переменная в
//+ no-beautify
function count() {
// переменные i,j не будут уничтожены по окончании цикла
for (*!*var*/!* i=0; i<3; i++) {
for (*!*var*/!* i = 0; i < 3; i++) {
*!*var*/!* j = i * 2;
}
*!*
alert(i); // i=3, последнее значение i, при нём цикл перестал работать
alert(j); // j=4, последнее значение j, которое вычислил цикл
alert( i ); // i=3, последнее значение i, при нём цикл перестал работать
alert( j ); // j=4, последнее значение j, которое вычислил цикл
*/!*
}
```

View file

@ -207,12 +207,16 @@ for (var i = 0; i < 5; i++) {
Красная строка -- это сообщение об ошибке.
В чём дело? Если мы хотим понять, что случилось -- перейдём в отладчик.
Если кликнуть на ссылке `pow.js` в консоли, справа в строке с ошибкой, то мы перейдём непосредственно к месту в скрипте, где возникла ошибка.
Однако почему она возникла?
Более подробно прояснить произошедшее нам поможет отладчик. Он может "заморозить" выполнение скрипта на момент ошибки и дать нам возможность посмотреть значения переменных и стека на тот момент.
Для этого:
<ol>
<li>Перейдите на вкладку Sources.</li>
<li>Включите останов при ошибке, используя кнопку <img style="vertical-align:middle" src="manage6.png">.</li>
<li>Включите останов при ошибке, кликнув на кнопку <img style="vertical-align:middle" src="manage6.png"></li>
<li>Перезагрузите страницу.</li>
</ol>
@ -222,7 +226,6 @@ for (var i = 0; i < 5; i++) {
Можно посмотреть значения переменных. Открыть консоль и попробовать запустить что-то в ней. Поставить брейкпойнты раньше по коду и посмотреть, что привело к такой печальной картине, и так далее.
В данном случае-то всё просто: опечатка в имени переменной `y` вместо `x`. Этот тип ошибки называется `ReferenceError`.
## Итого

View file

@ -5,7 +5,7 @@
[cut]
## Синтаксис
Шпаргалка с правилами синтаксиса (детально они их варианты разобраны далее):
Шпаргалка с правилами синтаксиса (детально их варианты разобраны далее):
<img src="code-style.svg">
@ -144,7 +144,7 @@ for (var i = 0; i < 10; i++) {
Используйте:
```js
for (var i=0; i<10; i++) {
for (var i = 0; i < 10; i++) {
if (i *!*не*/!* подходит) *!*continue*/!*;
... // <- уровень вложенности 1
}
@ -226,7 +226,7 @@ function showPrimes(n) {
```js
function showPrimes(n) {
for (var i=2; i<n; i++) {
for (var i = 2; i < n; i++) {
*!*if (!isPrime(i)) continue;*/!*
alert(i); // простое
@ -234,7 +234,7 @@ function showPrimes(n) {
}
function isPrime(n) {
for (var i=2; i<n; i++) {
for (var i = 2; i < n; i++) {
if ( n % i == 0) return false;
}
return true;

View file

@ -19,7 +19,7 @@ var people = [ vasya , masha , vovochka ];
people.sort(compareAge);
// вывести
for(var i=0; i<people.length; i++) {
for(var i = 0; i < people.length; i++) {
alert(people[i].name); // Вовочка Маша Вася
}
```

View file

@ -144,7 +144,7 @@ i = 5;
```js
//+ run untrusted refresh
for (*!*var*/!* i=0; i<5; i++) { }
for (*!*var*/!* i = 0; i < 5; i++) { }
```
Идентичный по функциональности код:
@ -152,7 +152,7 @@ for (*!*var*/!* i=0; i<5; i++) { }
```js
//+ run untrusted refresh
*!*var i;*/!*
for (i=0; i<5; i++) { }
for (i = 0; i < 5; i++) { }
```
В обоих случаях переменная будет создана до выполнения цикла, на стадии инициализации, и ее значение будет сохранено после окончания цикла.

View file

@ -275,7 +275,7 @@ ul.appendChild(fragment); // вместо фрагмента вставятся
<script>
function bench(test, times) {
var sum = 0;
for(var i=0; i<times; i++) {
for(var i = 0; i < times; i++) {
if(test.setup) test.setup();
var t = new Date();
test.work();
@ -301,10 +301,10 @@ var appendFirst = new function() {
var tbody = document.createElement('TBODY');
benchTable.appendChild(tbody);
for(var i=0; i<20; i++) {
for(var i = 0; i < 20; i++) {
var tr = document.createElement('TR');
tbody.appendChild(tr);
for(var j=0; j<20; j++) {
for(var j = 0; j < 20; j++) {
var td = document.createElement('td');
td.appendChild(document.createTextNode(''+i.toString(20)+j.toString(20)));
tr.appendChild(td);
@ -329,10 +329,10 @@ var appendLast = new function() {
this.work = function() {
var tbody = document.createElement('TBODY');
for(var i=0; i<20; i++) {
for(var i = 0; i < 20; i++) {
var tr = document.createElement('TR');
tbody.appendChild(tr);
for(var j=0; j<20; j++) {
for(var j = 0; j < 20; j++) {
var td = document.createElement('td');
tr.appendChild(td);
td.appendChild(document.createTextNode(''+i.toString(20)+j.toString(20)));

View file

@ -243,11 +243,11 @@ select.selectedIndex = 0; // первая опция
var form = document.forms[0];
var select = form.elements.genre;
for (var i=0; i<select.options.length; i++) {
for (var i = 0; i < select.options.length; i++) {
var option = select.options[i];
*!*
if(option.selected) {
alert(option.value);
alert( option.value );
}
*/!*
}

View file

@ -30,7 +30,7 @@
</tr>
</thead>
<tbody>
<% for(var i=0; i<list.length; i++) { %>
<% for(var i = 0; i < list.length; i++) { %>
<tr>
<td>
<%=list[i].name%>