How does .call in javascript work?
<p>I have seen this code on the MDN site:</p>

<pre><code>01  function Product(name, value){
02     this.name = name;
03     if(value &gt;= 1000)
04        this.value = 999;
05     else
06        this.value = value;
07  }
08   
09  function Prod_dept(name, value, dept){
10     this.dept = dept;
11     Product.call(this, name, value);
12  }
13   
14  Prod_dept.prototype = new Product();
15   
16  // since 5 is less than 1000, value is set
17  cheese = new Prod_dept("feta", 5, "food");
18   
19  // since 5000 is above 1000, value will be 999
20  car = new Prod_dept("honda", 5000, "auto");
</code></pre>

<p>It says you can use call to chain constructors. I have some questions:</p>

<p>1) Why is line 14 called why would we add it to the prototype and why would that mean that Product is called when we create Prod_dept?<br/></p>

<p>2) What does line 11 mean? How is this related to the prototype?<br/></p>

<p>3) What is line 20 meant to show us?<br/></p>
