prototype在js里,是一个prototype链,它可以是一个对象。可以用设计模式的方法理解为: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
解决方案 »
- dTree怎么设置第一个默认被选中
- 如何用jsp实现如下地址的图片转换效果呢??急@@@
- ClearAuthenticationCache导致web服务器退出的问题
- [前辈]vs.net2008智能感知问题,本人有结贴的好习惯。
- 动态创建的元素中有onclick事件,但却无法激发这个事件
- html:select中option里的value问题
- 请大家来帮忙看一段代码,关于html:select的,onchange方法没法激活
- 如何获取当前可视区域的大小?
- 如何设计一个可以让JavaScript或VBScript调用的自定义ActiveX
- 已经登录一个用户,再打开浏览器的一个标签,登录另一个用户时,第二个用户会把第一个用户的session给覆盖
- 请高手帮帮忙?谢谢!
- 动态添加
回答强, 抽象, 不过我还是不明白.
来点实在的吧.
this.color = sColor?sColor:'defaultcolor';//已更改, 运行可看出效果
}
ClassA.prototype.sayColor = function () {
alert(this.color);
};
function ClassB(sColor, sName) {
ClassA.call(this, sColor);
this.name = sName;
}
ClassB.prototype = new ClassA();
//这里把ClassA的实例作为ClassB的原型链,而不是ClassB的成员,因此并不会复盖的,所以ClassB也就有了ClassA的所有prototype方法。详细请看我下面给的示例。
ClassB.prototype.sayName = function () {
alert(this.name);
};
var objA = new ClassA("red");
var objB = new ClassB("blue", "Nicholas");
objA.sayColor();
objB.sayColor();
//--
alert(ClassB.prototype.color);
ClassB.prototype.sayColor();