renovations

This commit is contained in:
Ilya Kantor 2015-03-10 14:43:25 +03:00
parent 6444024a9d
commit fad6615c42
22 changed files with 94 additions and 161 deletions

View file

@ -19,8 +19,9 @@
<path d="M236,215 L236,205.5" id="Line-5" stroke="#4990E2" stroke-width="2" stroke-linecap="square" sketch:type="MSShapeGroup"></path>
<path d="M236.5,214.5 L246.5,214.5" id="Line-20" stroke="#4990E2" stroke-width="2" stroke-linecap="square" sketch:type="MSShapeGroup"></path>
<text id="Между-именем-функции" sketch:type="MSTextLayer" font-family="Open Sans" font-size="14" font-weight="bold" sketch:alignment="middle" fill="#EE6B47">
<tspan x="122.139648" y="89">Между именем функции</tspan>
<tspan x="126.559082" y="108">и скобкой ( нет пробела</tspan>
<tspan x="60.2202148" y="89">Между именем функции и скобкой ( </tspan>
<tspan x="52.8442383" y="108">между скобкой и первым параметром</tspan>
<tspan x="150.478516" y="127">нет пробела</tspan>
</text>
<path d="M270.5,118.5 L326.5,174.5" id="Line" stroke="#EE6B47" stroke-linecap="square" fill="#EE6B47" sketch:type="MSShapeGroup"></path>
<path id="Line-decoration-1" d="M326.361436,174.361436 C324.431034,170.94611 322.776404,168.018688 320.846003,164.603362 C319.361079,166.088286 318.088286,167.361079 316.603362,168.846003 C320.018688,170.776404 322.94611,172.431034 326.361436,174.361436 C326.361436,174.361436 326.361436,174.361436 326.361436,174.361436 Z" stroke="#EE6B47" stroke-linecap="square" fill="#EE6B47"></path>
@ -46,15 +47,15 @@
</text>
<path d="M326,507 L300,481.565217" id="Line-15" stroke="#EE6B47" stroke-linecap="square" fill="#EE6B47" sketch:type="MSShapeGroup"></path>
<path id="Line-15-decoration-1" d="M300.265975,481.82541 C302.233789,485.219318 303.920486,488.128382 305.8883,491.522289 C307.356818,490.021138 308.615547,488.734437 310.084065,487.233285 C306.647734,485.340529 303.702307,483.718167 300.265975,481.82541 C300.265975,481.82541 300.265975,481.82541 300.265975,481.82541 Z" stroke="#EE6B47" stroke-linecap="square" fill="#EE6B47"></path>
<text id="пустая-строка" sketch:type="MSTextLayer" font-family="Open Sans" font-size="14" font-weight="bold" sketch:alignment="middle" fill="#EE6B47">
<tspan x="51.4902344" y="374">пустая строка</tspan>
<text id="Пустая-строка" sketch:type="MSTextLayer" font-family="Open Sans" font-size="14" font-weight="bold" sketch:alignment="middle" fill="#EE6B47">
<tspan x="50.8374023" y="374">Пустая строка</tspan>
<tspan x="77.7128906" y="393">между </tspan>
<tspan x="18.0761719" y="412">логическими блоками</tspan>
</text>
<path d="M170.441667,385.5 L223,385.5" id="Line-7" stroke="#EE6B47" stroke-linecap="square" fill="#EE6B47" sketch:type="MSShapeGroup"></path>
<path id="Line-7-decoration-1" d="M222.441667,385.5 C218.661667,384.45 215.421667,383.55 211.641667,382.5 C211.641667,384.6 211.641667,386.4 211.641667,388.5 C215.421667,387.45 218.661667,386.55 222.441667,385.5 C222.441667,385.5 222.441667,385.5 222.441667,385.5 Z" stroke="#EE6B47" stroke-linecap="square" fill="#EE6B47"></path>
<text id="длина-строки" sketch:type="MSTextLayer" font-family="Open Sans" font-size="14" font-weight="bold" sketch:alignment="middle" fill="#EE6B47">
<tspan x="569.00293" y="380">длина строки</tspan>
<text id="Длина-строки" sketch:type="MSTextLayer" font-family="Open Sans" font-size="14" font-weight="bold" sketch:alignment="middle" fill="#EE6B47">
<tspan x="568.302246" y="380">Длина строки</tspan>
<tspan x="539.126465" y="399">не более 80 символов</tspan>
</text>
<path d="M534.441667,385.5 L443,420" id="Line-13" stroke="#EE6B47" stroke-linecap="square" fill="#EE6B47" sketch:type="MSShapeGroup"></path>
@ -65,6 +66,12 @@
</text>
<path d="M591,252.5 L386,252.5" id="Line-8" stroke="#EE6B47" stroke-linecap="square" fill="#EE6B47" sketch:type="MSShapeGroup"></path>
<path id="Line-8-decoration-1" d="M386,252.5 C389.78,253.55 393.02,254.45 396.8,255.5 C396.8,253.4 396.8,251.6 396.8,249.5 C393.02,250.55 389.78,251.45 386,252.5 C386,252.5 386,252.5 386,252.5 Z" stroke="#EE6B47" stroke-linecap="square" fill="#EE6B47"></path>
<text id="Пробелы-" sketch:type="MSTextLayer" font-family="Open Sans" font-size="14" font-weight="bold" sketch:alignment="middle" fill="#EE6B47">
<tspan x="596.064453" y="186">Пробелы </tspan>
<tspan x="559.283691" y="205">вокруг операторов</tspan>
</text>
<path d="M575.5,188.5 L401.5,225.5" id="Line-16" stroke="#EE6B47" stroke-linecap="square" fill="#EE6B47" sketch:type="MSShapeGroup"></path>
<path id="Line-16-decoration-1" d="M402.370943,225.3148 C406.286668,225.555622 409.643004,225.762041 413.558729,226.002864 C413.121943,223.94879 412.747556,222.188156 412.31077,220.134082 C408.83183,221.947333 405.849882,223.501548 402.370943,225.3148 C402.370943,225.3148 402.370943,225.3148 402.370943,225.3148 Z" stroke="#EE6B47" stroke-linecap="square" fill="#EE6B47"></path>
<text id="Фигурная-скобка-{" sketch:type="MSTextLayer" font-family="Open Sans" font-size="14" font-weight="bold" sketch:alignment="middle" fill="#EE6B47">
<tspan x="525.230957" y="85">Фигурная скобка {</tspan>
<tspan x="477.153809" y="104">на той же строке, через пробел</tspan>

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 124 KiB

Before After
Before After

View file

@ -106,12 +106,12 @@ alert( str.charAt(0) ); // "j"
В JavaScript **нет отдельного типа "символ"**, так что `charAt` возвращает строку, состоящую из выбранного символа.
Также (кроме IE7-) для доступа к символу можно также использовать квадратные скобки:
Также для доступа к символу можно также использовать квадратные скобки:
```js
//+ run
var str = "Я - современный браузер!";
alert( str[0] ); // "Я", IE8+
alert( str[0] ); // "Я"
```
Разница между этим способом и `charAt` заключается в том, что если символа нет -- `charAt` выдает пустую строку, а скобки -- `undefined`:
@ -119,7 +119,7 @@ alert( str[0] ); // "Я", IE8+
```js
//+ run
alert( "".charAt(0) ); // пустая строка
alert( "" [0] ); // undefined, IE8+
alert( "" [0] ); // undefined
```
Вообще же метод `charAt` существует по историческим причинам, ведь квадратные скобки -- проще и короче.

View file

@ -335,7 +335,6 @@ alert( str );
<ul>
<li>JSON -- формат для представления объектов (и не только) в виде строки.</li>
<li>Методы [JSON.parse](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse) и [JSON.stringify](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) позволяют интеллектуально преобразовать объект в строку и обратно.</li>
<li>Для IE7- можно подключить библиотеку [json2](https://github.com/douglascrockford/JSON-js/blob/master/json2.js).</li>
</ul>

View file

@ -201,6 +201,8 @@ alert( mul(a, b) ); // 6
В браузерах IE7- не было методов `JSON.stringify` и `JSON.parse`, поэтому работа с JSON происходила через `eval`.
Этот способ работы с JSON давно устарел, но его можно встретить кое-где в старом коде, так что для примера рассмотрим его.
Вызов `eval(code)` выполняет код и, если это выражение, то возвращает его значение, поэтому можно в качестве кода передать JSON.
Например:
@ -248,8 +250,6 @@ alert( user.age ); // 25
**Поэтому рекомендуется, всё же, использовать `JSON.parse`.**
При разборе через `JSON.parse` некорректный JSON просто приведёт к ошибке, а вот при разборе через `eval` этот код реально выполнится, он может вывести что-то на странице, перенаправить посетителя куда-то и т.п.
Если вам важна поддержка IE7, в котором `JSON.parse нет`, то от злого кода можно защититься проверкой текста при помощи регулярного выражения из [стандарта RFC 4627, секция 6](https://www.ietf.org/rfc/rfc4627.txt) или подключить библиотеку [json2](https://github.com/douglascrockford/JSON-js/blob/master/json2.js).
[/warn]