Why does this code use <function>.call()?
<p>Code is from <a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/call" rel="nofollow">mozilla website</a></p>

<pre><code>function Product(name, price) {
  this.name = name;
  this.price = price;

  if (price &lt; 0)
    throw RangeError('Cannot create product "' + name + '" with a negative price');
  return this;
}

function Food(name, price) {
   Product.call(this, name, price);/// why not this be Product(name,price)
   this.category = 'food';
}
Food.prototype = new Product();
</code></pre>

<p>may very silly thing,  can't understand this line<br/>
 <code>Product.call(this, name, price);</code></p>

<p>Since both Product and Food are global functions why do we have to use Product.call</p>
