Взгляните на этот пример:Почему `this` установлен в` window`, если я использую `function.apply (undefined, args)`?
function aaa() {
console.dir(this)
}
function bbb() {}
aaa.apply(undefined, [1,2,3]) // this in aaa is `window` object
aaa.apply(bbb, [1,2,3]) // this in aaa is `bbb` function
Почему this
набор для window
в первом случае применяется, несмотря на то, что я пытаюсь заставить его быть undefined
?
Поскольку ваша функция находится в неаккуратном режиме. – Bergi
@ Bergi сказать что? – bodacydo
Non- "строгий режим". Добавьте '' use strict '; 'перед' console.dir', и он отобразит 'undefined'. – Bergi