потому что в первом случае ты вызываешь a.bind(), тем самым явно указывая контекст a, в котором нужно запустить, а во втором случае просто b, от window. this — суть тот же self, что в питоне.
короче как я и предпологал, специальный костыль, который когда ты делаешь foo.bar() пушает контекст (в т.ч. this всякие), вызывает функцию, и потом обратно контекст возвращает. пиздец.
потому что в первом случае ты вызываешь a.bind(), тем самым явно указывая контекст a, в котором нужно запустить, а во втором случае просто b, от window. this — суть тот же self, что в питоне.
да, только в питоне есть bound-методы, являющиеся дескрипторами-прокси к оригинальной функции.
короче как я и предпологал, специальный костыль, который когда ты делаешь foo.bar() пушает контекст (в т.ч. this всякие), вызывает функцию, и потом обратно контекст возвращает. пиздец.
хотя не скажу, что в питоне foo.bar() — простая вещь.
b.call(a)