AVKor: На Win7 запустилось нормально. Возможно 10ка виновата. Да, работает пошустрее. Спасибо за совет. Но все же вопрос параллельной установки остается открытым. На другом ноуте у меня стоит параллельно Win7 и Ubuntu, очень приятная комбинация. Но я ставил это давно, и были проблемы с рабиением диска и тд.
Сейчас использую виртуалку, причем пробовал на разных компах разной кофигурации (мой ноут i3, 6гб RAM, и рабочая станция на 2ух 4яд процессорах Xeon 3ггц и 8 гб RAM) Centos на VMware Тормозит конкретно, работать комфортно даже в терминале не получается. Возможно я что-то делаю не так. Но в любом случае мне надоела виртуалка.
Константин Громов: Это модель. В реальном примере функция Foo могла бы быть единственно экспортируемой из модуля. И конечно в ней была бы не одна инструкция, плюс вызовы других функций и тд. Пользователь модуля мог-бы менять его внутреннюю реализацию отправляя на вход свою функцию (sum, mult или что-то совершенно иное). Если учитывать что функции в JS тоже считаются объектами, то получается что мы меняем реализацию методов объекта не имея доступа к его коду. Это будет полиморфизмом?
Немного переделал пример. Какое именно из определений полиморфизма вы подразумеваете? Что отличает (с точки зрения теории полиморфизма) вызов через call, кроме явной передачи Window в качестве текущего объекта?
Александр Таратин: Не пойму как объект обращается к переменной "c"? Она определена внутри функции. При создании counter понятно, а при вызове? "с" - это чье свойство в дальнейшем?