При передаче undefined или null в качестве контекста, контекст сбрасывается на глобальный (window). При передаче в качестве контекста 0 или false, контекст ссылается на объект Number или Boolean соответственно. Так как на этих объектах не определено свойство "a", соответственно возвращается undefined.