Готовый перевод Modern JS Cheatsheet / Памятка по современному JavaScript: This в JavaScript
### <a name="this_def"></a> *this* в JavaScript
Оператор *this* ведет себя не так, как в других языках. В большинстве случаев он определяется тем, как вызвана функция ([Ссылка: MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this)).
Это сложное понятие с множеством тонкостей, так что я крайне рекомендую вам тщательно изучить приведенные ниже внешние ресурсы. Я покажу вам, как сам лично определяю, чему равно *this*. Этому меня научила [вот эта статья Иегуды Каца](http://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/).
```js
function myFunc() {
...
}
// После каждого выражения находим значение *this* в myFunc
myFunc.call("myString", "привет") // "myString" -- в *this* записывается значение первого параметра .call
// В non-strict-режиме
myFunc("привет") // window -- myFunc() - это синтаксический сахар для myFunc.call(window, "привет")
// В strict-режиме
myFunc("привет") // undefined -- myFunc() - это синтаксический сахар для myFunc.call(undefined, "привет")
```
```js
var person = {
myFunc: function() { ... }
}
person.myFunc.call(person, "test") // person Object -- в *this* записывается значение первого параметра call
person.myFunc("test") // person Object -- person.myFunc() - это синтаксический сахар для person.myFunc.call(person, "test")
var myBoundFunc = person.myFunc.bind("привет") // Создает новую функцию, в которой мы записываем "привет" в значение *this*
person.myFunc("test") // person Object -- Метод bind не влияет на первоначальный метод
myBoundFunc("test") // "hello" -- myBoundFunc - это person.myFunc, в которой *this* привязана к "привет"
```
#### Внешние ресурсы
- [Понимание вызова функций и "this" в JavaScript - Иегуда Кац](http://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/)
- [This в JavaScript - MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this)
Переведено на Нотабеноиде
http://notabenoid.org/book/70916/381887
Переводчики: Tomatoknight
Настройки
Готово:
