Здравствуйте, изучаю ООП в прототипном стиле. Написал элементранейший скрипт для самообучения http://plnkr.co/edit/oPCRbIVHJ9sMedoH6x79?p=preview. Вопрос такой почему если в 14-й строке писать render.apply(this, arguments[5]); то получаю ошибку Function.prototype.apply: Arguments list has wrong type? а если писать вот так писать render.call(this, arguments[5]) то все ок.
Потому что функция apply принимает в качестве 2-го аргумента массив, либо объект массивоподобного типа, как в твоем случае, а ты подал ей не-массив. А прототипное ооп тут не при чем.
Последний раз редактировалось tysonfury2015, 23.07.2015 в 17:49.
Вопрос такой почему если в 14-й строке писать render.apply(this, arguments[5]); то получаю ошибку Function.prototype.apply: Arguments list has wrong type? а если писать вот так писать render.call(this, arguments[5]) то все ок.
Потому, что метод apply вторым аргументом ожидает массив.