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
<- undefinedfunction foo(x) {
this.x++
}x и свойство x объекта this - это разные вещи. window или произвольного объекта - то делать надо это явно и прямо. Например:window.x = 0
window.x++let propName = 'a'
window[propName] = 0
window[propName]++