diff --git a/.project b/.project new file mode 100644 index 00000000..42a345c2 --- /dev/null +++ b/.project @@ -0,0 +1,11 @@ + + + JavaScript-Garden + + + + + + + + diff --git a/doc/ru/function/closures.md b/doc/ru/function/closures.md index a6e62997..5d891360 100644 --- a/doc/ru/function/closures.md +++ b/doc/ru/function/closures.md @@ -1,6 +1,6 @@ ## Замыкания и ссылки -Одним из самых мощных инструментов JavaScript'а считаются возможность создавать *замыкания* — это такой приём, когда наша область видимости **всегда** имеет доступ к внешней области, в которой она была объявлена. Собственно, единственный механизм работы с областями видимости в JavaScript — это [функции](#function.scopes): т.о. объявляя функцию, вы автоматически реализуете замыкания. +Одним из самых мощных инструментов JavaScript'а считается возможность создавать *замыкания* — это такой приём, когда наша область видимости **всегда** имеет доступ к внешней области, в которой она была объявлена. Собственно, единственный механизм работы с областями видимости в JavaScript — это [функции](#function.scopes): т.о. объявляя функцию, вы автоматически реализуете замыкания. ### Эмуляция приватных свойств diff --git a/doc/ru/function/general.md b/doc/ru/function/general.md index c4a47e64..e43f110f 100644 --- a/doc/ru/function/general.md +++ b/doc/ru/function/general.md @@ -25,7 +25,7 @@ Так как в данном примере выражение `var` — это определение функции, переменная с именем `foo` будет заранее зарезервирована перед запуском скрипта (таким образом, `foo` уже будет определена во время его работы). -Но поскольку присвоения исполняются непосредственно во время работы кода, `foo` по умолчанию будет присвоено значение [`undefined`](#core.undefined) (до обработки строки с определением функции): +Но поскольку присваивания выполняются непосредственно во время работы кода, `foo` по умолчанию будет присвоено значение [`undefined`](#core.undefined) (до обработки строки с определением функции): var foo; // переменная неявно резервируется foo; // 'undefined' diff --git a/doc/ru/function/this.md b/doc/ru/function/this.md index 9fd6390c..b2cd3aab 100644 --- a/doc/ru/function/this.md +++ b/doc/ru/function/this.md @@ -38,7 +38,7 @@ Когда мы используем методы `call` или `apply` из `Function.prototype`, то внутри вызваемой функции `this` **явным образом** будет присвоено значение первого передаваемого параметра. -Исходя из этого, в предыдущем примере (строка с `apply`) правило #3 *вызов метода* **не** будет применёно, и `this` внутри `foo` будет присвоено `bar`. +Исходя из этого, в предыдущем примере (строка с `apply`) правило #3 *вызов метода* **не** будет применено, и `this` внутри `foo` будет присвоено `bar`. > **Замечание:** `this` **нельзя** использовать внутри литералов `{}` (`Object`) для ссылки на сам объект. Т.е. если мы напишем `var obj = {me: this}`, то `me` не будет ссылаться на `obj`, поскольку `this` присваивается только по одному из пяти описанных правил. @@ -53,7 +53,7 @@ test(); } -Распространенным заблуждением будет то, что `this` внутри `test` ссылается на `Foo`, но это **не так**. +Распространенное заблуждение - `this` внутри `test` ссылается на `Foo`, но это **не так**. Для того, чтобы получить доступ к `Foo` внутри функции `test`, необходимо создать локальную перменную внутри `method`, которая и будет ссылаться на `Foo`. @@ -76,7 +76,7 @@ var test = someObject.methodTest; test(); -Следуя первому правилу `test` вызывается как обычная функция; следовательно `this` внутри него больше не ссылается на `someObject`. +Согласно первому правилу, `test` вызывается как обычная функция; следовательно, `this` внутри него больше не ссылается на `someObject`. Хотя позднее связывание `this` на первый взгляд может показаться плохой идеей, но на самом деле именно благодаря этому работает [наследование прототипов](#object.prototype). diff --git a/doc/ru/object/forinloop.md b/doc/ru/object/forinloop.md index 22470a2f..331f8750 100644 --- a/doc/ru/object/forinloop.md +++ b/doc/ru/object/forinloop.md @@ -31,7 +31,7 @@ ### Рекомендации -Рекомендация одна — **всегда** используйте `hasOwnProperty`. Пишите код, который будет в наименьшей мере зависеть от окружения, в котором он будет запущен — не стоит гадать, расширял кто-то прототипы или нет и используется ли в ней та или иная библиотека. +Рекомендация одна — **всегда** используйте `hasOwnProperty`. Пишите код, который будет в наименьшей мере зависеть от окружения, в котором он будет запущен — не стоит гадать, расширял кто-то прототипы или нет и используется ли в проекте та или иная библиотека. [1]: http://www.prototypejs.org/