转自:http://www.cnblogs.com/hacker84/archive/2009/04/22/1441500.html
http://www.cnblogs.com/siceblue/archive/2010/03/03/1677306.html
所有JavaScript对象都带有的一个属性,构造函数——constructor。这一属性引用的是原本用来构造该对象的那个函数。
执行constructor后的结果是一个对象,而执行typeof后的结果是一个字符串。看下表的对比:
| 变量 | typeof 变量 | 变量.constructor |
| {a:"b"} | "object" | Object |
| ["a","b"] | "object" | Array |
| function(){} | "function" | Function |
| "a" | "string" | String |
| 66 | "number" | Number |
| true | "boolean" | Boolean |
| new User() | "object" | User |
通过对传入参数的数量和类型的判断,那么函数重载也就简单了。