[JS]Javascript的函数总结

Javascript中不存在函数重载,同名的函数将被最后一个覆盖。

function test(a,b){

  this.x = 1;
}

function test(a){

  this.x = 2;
}

function test(a){
  this.x = 3;
}
var o = new test(1,2);
alert(o.x); // 3

运行上面的代码输出结果3,可见运行的是最后一个test,尽管我们创建对象时明确指定了使用两个参数的test构造函数去创建对象却没有成功,也没有报错。

因为javascript的变量是动态类型,无法准确区分是否重载,所以编码时尽量保持函数唯一因为生效的只有最后一个。

原文地址:https://www.cnblogs.com/hihtml5/p/6207765.html