Как поместить arguments в call

Я хочу запускать функцию не теряя контекст, но при этом имея возможность не привязываться к количеству аргументов

var a = (function() {
    this.a = 1;
    this.b = function(a, b) {
      alert(a + b + this.a);
    };
  })(),

  b = function() {
    this.a = 2;
    this.c = function() {
      return a.b.call(a, arguments);
    };
  };

(new b()).c('2', '3');

выдает ошибку

VM254:7 Uncaught TypeError: Cannot read property 'b' of undefined
    at b.c (<anonymous>:7:36)
    at <anonymous>:9:11

потому что '3' ушло в первый аргумент как если бы мы вызвали a.b(['2','3']);


Ответы (0 шт):