Javascript函数包含一个伪数组(pseudo-array),该数组包含所有传入参数,我们不能修改它,但可以访问其中的成员,该数组也具有length属性。
函数重载依赖于判断传入参数个数和类型的能力。
函数重载的例子:
我们可以使用typeof来进行类型检查,当要判断的类型时自定义对象时,typeof返回的是object。
第二种检查对象类型的方法,需要引用所有javascript对象都具有的一个属性constructor,使用constructor进行类型检查更不容易犯错。
typeof和constructor的区别:
变量 | typeof | constructor |
---|---|---|
{an:"object"} | object | Object |
{an:"array"} | object | Array |
function(){} | function | Function |
"a string" | string | String |
55 | number | Number |
true | boolean | Boolean |
new User() | object | User |