renovations
This commit is contained in:
parent
0eec1aaccb
commit
c018a2db03
56 changed files with 459 additions and 594 deletions
|
@ -112,7 +112,7 @@ var oranges = "3";
|
|||
alert( +apples + +oranges); // 5, число, оба операнда предварительно преобразованы в числа
|
||||
```
|
||||
|
||||
С точки зрения математики такое изобилие плюсов может показаться странном. С точки зрения программирования -- никаких разночтений: сначала выполнятся унарные плюсы, приведут строки к числам, а затем -- бинарный `'+'` их сложит.
|
||||
С точки зрения математики такое изобилие плюсов может показаться странным. С точки зрения программирования -- никаких разночтений: сначала выполнятся унарные плюсы, приведут строки к числам, а затем -- бинарный `'+'` их сложит.
|
||||
|
||||
Почему унарные плюсы выполнились до бинарного сложения? Как мы сейчас увидим, дело в их приоритете.
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="723px" height="562px" viewBox="0 0 723 562" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<!-- Generator: bin/sketchtool 1.3 (252) - http://www.bohemiancoding.com/sketch -->
|
||||
<!-- Generator: Sketch 3.2.2 (9983) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>code-style.svg</title>
|
||||
<desc>Created with bin/sketchtool.</desc>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="combined" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||
<g id="code-style.svg" sketch:type="MSArtboardGroup">
|
||||
|
|
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 126 KiB |
|
@ -78,12 +78,9 @@ div.append('<span/>');
|
|||
|
||||
В итоге, после вызова получается два независимых `div'а`: первый содержит `img` (этот неявный клон никуда не присвоен), а второй -- наш `span`.
|
||||
|
||||
Злая магия? Плохой феншуй?
|
||||
|
||||
Ничего подобного, просто избирательное следование соглашениям. Вызов `wrap` -- неявно клонирует элемент.
|
||||
|
||||
Такой сюрприз, бесспорно, стоит многих часов отладки.
|
||||
Объяснения не очень понятны? Написано что-то странное? Это просто разум, привыкший, что соглашения уважаются, не допускает мысли, что вызов `wrap` -- неявно клонирует элемент. Ведь другие jQuery-методы, кроме `clone` этого не делают.
|
||||
|
||||
Как говорил [Учитель](https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%84%D1%83%D1%86%D0%B8%D0%B9): "В древности люди учились для того, чтобы совершенствовать себя. Нынче учатся для того, чтобы удивить других".
|
||||
|
||||
## Краткость -- сестра таланта!
|
||||
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
Ответ: `5`.
|
||||
|
||||
```js
|
||||
//+ run untrusted
|
||||
var a = 5;
|
||||
|
||||
function a() { }
|
||||
|
||||
alert(a);
|
||||
```
|
||||
|
||||
Чтобы понять, почему -- разберём внимательно как работает этот код.
|
||||
<ol>
|
||||
<li>До начала выполнения создаётся переменная `a` и функция `a`. Стандарт написан так, что функция создаётся первой и переменная ее не перезаписывает. То есть, функция имеет приоритет. Но в данном случае это совершенно неважно, потому что...
|
||||
</li>
|
||||
<li>...После инициализации, когда код начинает выполняться -- срабатывает присваивание `a = 5`, перезаписывая `a`, и уже не важно, что там лежало.</li>
|
||||
<li>Объявление `Function Declaration` на стадии выполнения игнорируется (уже обработано).</li>
|
||||
<li>В результате `alert(a)` выводит 5.</li>
|
||||
</ol>
|
|
@ -1,15 +0,0 @@
|
|||
# Функция и переменная
|
||||
|
||||
[importance 3]
|
||||
|
||||
Каков будет результат кода? Почему?
|
||||
|
||||
```js
|
||||
var a = 5;
|
||||
|
||||
function a() { }
|
||||
|
||||
alert(a);
|
||||
```
|
||||
|
||||
P.S. Это задание -- учебное, на понимание процесса инициализации и выполнения. В реальной жизни мы, конечно же, не будем называть переменную и функцию одинаково.
|
Loading…
Add table
Add a link
Reference in a new issue