重载:定义相同名称,不同参数的函数,程序调用时自动识别不同参数的函数
实现了相同函数名不同的函数调用
js中没有重载,可以通过arguments实现函数重载
/** * 计算正方形或长方形面积 */ function React() { if (arguments.length == 1) { // 如果是1个参数,返回正方形 this.width = arguments[0]; this.height = arguments[0]; } else { // 如果是2个参数,返回长方形 this.width = arguments[0]; this.height = arguments[1]; } this.toString = function () { return `${this.width} * ${this.height} = ${this.width * this.height}`; }; } var react1 = new React(5); console.log(react1.toString()); // 5 * 5 = 25 var react2 = new React(3, 4); console.log(react2.toString()); // 3 * 4 = 12
多态:同一个东西在不同情况下表现不同状态,重写和重载