ltl3885 2009-07-01 15:01
浏览 233
已采纳

js继承

function Person(name)
{
this.name = name;
this.show = function() {
alert("hi");
}
};
Person.prototype.company = "Microsoft"; //原型的属性
Person.prototype.SayHello = function() //原型的方法
{
alert("Hello, I'm " + this.name + " of " + this.company);
};
function BillGates (name){
//Person.call(this,name);
this.name = name;

}

BillGates.prototype = new Person();

var BillGates = new BillGates("Bill Gates");

BillGates.SayHello(); //alert ------> Hello, I'm Bill Gates of Microsoft
BillGates.show(); //alert ----> hi

BillGates.prototype = new Person();这句话是什么意思 ? 怎么继承的? 不用call也行吗?

  • 写回答

1条回答 默认 最新

  • 成富 2009-07-01 15:52
    关注

    JavaScript是通过prototype来创建新对象的,prototype里面的属性是被所有从此prototype中创建出来的对象所公用的。prototype也是一个对象。
    [code="js"]BillGates.prototype = new Person();[/code]这句话把BillGates的prototype设成一个Person的对象,这样所有从BillGates生成出来的对象(通过new BillGates()),都共用这个Person对象。

    可以参考我写的这篇文章[url]http://www.ibm.com/developerworks/cn/web/wa-lo-dojoajax1/[/url]。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 个人网站被恶意大量访问,怎么办
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制