JavaScript语言精粹——继承

在基于类的语言中,对象是类的实例,并且类可以从另一个类继承。JavaScript是一门基于原型的语言,即对象直接从其他对象继承。
1.伪类
①当一个函数对象被创建时,Function构造器产生的函数对象会运行类似this.prototype={constructor:this};的代码,新函数对象被赋予一个prototype属性,其值是包含一个constructor属性且属性值为该新函数对象。该prototype对象是存放继承特征的地方。
②因为JavaScript语言没有提供一种方法确定哪个函数是打算用来作构造器的,所以每个函数都会得到一个prototype对象。
③定义一个伪类并且替换它的prototype为一个构造函数的实例就可以使他继承该函数。

2.对象说明符
有时构造器要接受一大串参数,要记住参数的顺序十分困难,在编写构造器时令其接受一个简单的对象说明符会更友好。
与其var myObject=maker(f,l,m,c,s);
不如 var myObject=maker({first:f,last:l,state:s,city:c});
这样一来多个参数可以任意排列。

3.原型
①基于原型的继承中,一个新对象可以继承一个旧对象的属性,通过构造一个有用的对象开始,可以接着构造更多和那个对象类似的对象,可以完全避免把一个应用拆解成一系列嵌套抽象类的分类过程。
//一旦有了一个想要的对象,就可以用第三章的Object.beget方法构造出更多实例
  var myCat=Object.beget(myMammal1);
  myCat.name="loha";
  myCat.saying='meow';
  myCat.get_name=function(){...}
  //定制一个新对象,指明了它与基于的基本对象的区别,是一种差异化继承

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值