Почему this не указывает на контекст window?
Помогите пожалуйста понять почему следующий код выводит undefined, а не 5
ВЫВОДИТ ГДЕ??! Как вы этот код запускали? Раз уж вы решили скрыть эту информацию...
Ответ номер раз: а чо вы врёте-то? Открываем консоль, копируем код, запускаем и видим, что выводится 5.
Ответ номер два: jsfiddle, например, по умолчанию оборачивает код в window.onload, соответственно, переменная b в window не попадёт - потому и undefined.
Она возвращает 5 и undefined, а undefined потому что функция ничего не возвращает.
Попробуйте что-то вывести с функции и увидите что вместо undefined выведется.