1.
一般采用 JS 函数构造类型 动态原始方法 和 构造函数/原型方式。
动态原始方法:
function Car(sColor,iDoors,iMpg) {
this.color = sColor;
this.doors = iDoors;
this.mpg = iMpg;
this.drivers = new Array("Mike","John");
if (typeof Car._initialized == "undefined") {
Car.prototype.showColor = function() {
alert(this.color);
};
Car._initialized = true;
}
}
混合的构造函数/原型方法:
function Car(sColor,iDoors,iMpg) { this.color = sColor; this.doors = iDoors; this.mpg = iMpg; this.drivers = new Array("Mike","John"); } Car.prototype.showColor = function() { alert(this.color); }; var oCar1 = new Car("red",4,23); var oCar2 = new Car("blue",3,25); oCar1.drivers.push("Bill"); alert(oCar1.drivers); //输出 "Mike,John,Bill" alert(oCar2.drivers); //输出 "Mike,John"
2.
Function.prototype.originalToString = Function.prototype.toString;Function.prototype.toString = function() { if (this.originalToString().length > 100) { return "Function too long to display."; } else { return this.originalToString(); } };在重写原方法的时候最好 将原方法做一个指针出来, 以便以后如果要使用被覆盖前的方法。
本文介绍了JavaScript中使用动态原始方法和构造函数/原型方式创建对象实例的方法,并展示了如何在重写原方法时保留原始行为。通过实例演示了构造函数如何与原型方法结合使用,以及如何在不修改原有功能的情况下扩展对象实例的功能。
354

被折叠的 条评论
为什么被折叠?



