Method 1 is a function definition, while method 2 is a function expression that is assigned to a variable. Both end up doing the similar thing, but with differences:
- the sequence of events is different (see: hoisting)
- method 2 doesn't set the
name
parameter of the function
Regarding the terminology - "constructor function" is a common term for these:
var foo = new Contact();
console.log(foo.constructor === Contact) // true
Technically there is nothing special about this functions though. The convention is to capitalise functions that are intended to use as constructors.