Можно использовать apply для создания цепочки конструкторов объекта, как в Java. В следующем примере конструктор объекта product определяется с двумя параметрами, name и value. Другой объект, prod_dept, инициализирует свою уникальную переменную (dept) и вызывает конструктор для product в своём конструкторе для инициализации других переменных. Здесь параметр arguments использован для всех аргументов конструктора объекта product.
function product(name, value){ this.name = name;
if(value > 1000) this.value = 999;
else this.value = value; }
function prod_dept(name, value, dept){ this.dept = dept;
product.apply(product, arguments); }
prod_dept.prototype = new product();
// поскольку 5 меньше 100, значение устанавливается cheese = new prod_dept("feta", 5, "food");// поскольку 5000 больше 1000, значение будет 999
car = new prod_dept("honda", 5000, "auto");