Вы не можете , потому что this
работает в JavaScript . Продолжаемый читать:
В соответствии с разделом «Вход в контекст выполнения» спецификации ECMAScript: при вызове функции значение this
определяется тем, что слева (так называемая активация ) объект ). Давайте создадим функцию с именем steve и поместим его в объект:
function steve(){}
var obj = { method: steve };
… когда мы называем Стива obj.method()
, его this
равен obj
, потому что obj
был объектом активации.
Сложный случай, когда ничего находится слева от вызова функции:
steve(); // Who am I ?!
Слева от вызова функции ничего - по сути, это null
- поэтому значение this
устанавливается равным значению по умолчанию для глобального объекта (window
в веб-браузерах , global
в Node.js и т. Д.).
Таким образом, вы фактически устанавливаете функцию this
каждый раз, когда вызываете ее.
P.S. вызов steve.apply(null, [])
эквивалентен вызову steve()
.