let q = 0
function foo(x) {
this.x++
}
console.log(window.q)
console.log(q)
function go(cb) {
cb()
}
go(foo.bind(window, q))
console.log(q)
>> let a = 0;
<- undefined
>> window.a
<- undefined
function foo(x) {
this.x++
}
x
и свойство x
объекта this
- это разные вещи. window
или произвольного объекта - то делать надо это явно и прямо. Например:window.x = 0
window.x++
let propName = 'a'
window[propName] = 0
window[propName]++