diff --git a/1-js/2-first-steps/2-external-script/article.md b/1-js/2-first-steps/2-external-script/article.md index 120fe8f0..b5c42ba7 100644 --- a/1-js/2-first-steps/2-external-script/article.md +++ b/1-js/2-first-steps/2-external-script/article.md @@ -181,9 +181,9 @@ -[warn header="Либо `async` либо `defer`"] -Одновременно указывать `async` и `defer` не имеет смысла, в этом случае браузер использует только `async`. -[/warn] +[smart header="`async` вместе с `defer`"] +При одновременном указании `async` и `defer` в современных браузерах будет использован только `async`, в IE9- -- только `defer` (не понимает `async`). +[/smart] [warn header="Атрибуты `async/defer` -- только для внешних скриптов"] Атрибуты `async/defer` работают только в том случае, если назначены на внешние скрипты, т.е. имеющие `src`. diff --git a/1-js/7-js-misc/5-exception/1-finally-ili-prosto-kod/solution.md b/1-js/7-js-misc/5-exception/1-finally-ili-prosto-kod/solution.md deleted file mode 100644 index 5befa284..00000000 --- a/1-js/7-js-misc/5-exception/1-finally-ili-prosto-kod/solution.md +++ /dev/null @@ -1,43 +0,0 @@ -Разница в поведении станет очевидной, если рассмотреть код внутри функции. - -Поведение будет различным, если управление каким-то образом выпрыгнет из `try..catch`. - -Например, `finally` сработает после `return`: - -```js -function f() { - try { - ... -*!* - return result; -*/!* - } catch (e) { - ... - } finally { - очистить ресурсы - } -} -``` - -Или же управление может выпрыгнуть из-за `throw`: - -```js -function f() { - try { - ... - - } catch (e) { - ... - if(не умею обрабатывать эту ошибку) { -*!* - throw e; -*/!* - } - - } finally { - очистить ресурсы - } -} -``` - -В этих случаях именно `finally` гарантирует выполнение кода до окончания работы `f`, просто код не будет вызван. \ No newline at end of file diff --git a/1-js/7-js-misc/5-exception/1-finally-ili-prosto-kod/task.md b/1-js/7-js-misc/5-exception/1-finally-ili-prosto-kod/task.md deleted file mode 100644 index 5c93daf5..00000000 --- a/1-js/7-js-misc/5-exception/1-finally-ili-prosto-kod/task.md +++ /dev/null @@ -1,43 +0,0 @@ -# Finally или просто код? - -[importance 5] - -Сравните два фрагмента кода. - -
    -
  1. Первый использует `finally` для выполнения кода по выходу из `try..catch`: - -```js -try { - начать работу - работать -} catch (e) { - обработать ошибку -} finally { -*!* - финализация: завершить работу -*/!* -} -``` - -
  2. -
  3. Второй фрагмент просто ставит очистку ресурсов за `try..catch`: - -```js -try { - начать работу -} catch (e) { - обработать ошибку -} - -*!* -финализация: завершить работу -*/!* -``` - -
  4. -
- -Нужно, чтобы код финализации всегда выполнялся при выходе из блока `try..catch` и, таким образом, заканчивал начатую работу. Имеет ли здесь `finally` какое-то преимущество или оба фрагмента работают одинаково? - -Если имеет, то дайте пример когда код с `finally` работает верно, а без -- неверно. diff --git a/1-js/8-oop/2-internal-external-interface/1-add-method-property-coffeemachine/task.md b/1-js/8-oop/2-internal-external-interface/1-add-method-property-coffeemachine/task.md index cd471175..62177288 100644 --- a/1-js/8-oop/2-internal-external-interface/1-add-method-property-coffeemachine/task.md +++ b/1-js/8-oop/2-internal-external-interface/1-add-method-property-coffeemachine/task.md @@ -5,6 +5,7 @@ Улучшите готовый код кофеварки, который дан ниже: добавьте в кофеварку *публичный* метод `stop()`, который будет останавливать кипячение (через `clearTimeout`). ```js +//+ run function CoffeeMachine(power) { this.waterAmount = 0; @@ -38,4 +39,5 @@ coffeeMachine.stop(); // кофе приготовлен не будет ``` P.S. Текущую температуру воды вычислять и хранить не требуется. + P.P.S. При решении вам, скорее всего, понадобится добавить *приватное* свойство `timerId`, которое будет хранить текущий таймер. \ No newline at end of file diff --git a/10-regular-expressions-javascript/5-regexp-quantifiers/article.md b/10-regular-expressions-javascript/5-regexp-quantifiers/article.md index 38f2ccf8..17605289 100644 --- a/10-regular-expressions-javascript/5-regexp-quantifiers/article.md +++ b/10-regular-expressions-javascript/5-regexp-quantifiers/article.md @@ -115,7 +115,7 @@ alert( "100 10 1".match(/\d0+/g) ); // 100, 10 В действии: ```js //+ run -alert( "0 1 12.345 7890".match(/\d+\.\d+/g) ); // 123.45 +alert( "0 1 12.345 7890".match(/\d+\.\d+/g) ); // 12.345 ```