您的位置:首页 > Web前端 > JavaScript

JavaScript语言精粹——继承

2016-03-29 21:32 344 查看
在基于类的语言中,对象是类的实例,并且类可以从另一个类继承。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(){...}
  //定制一个新对象,指明了它与基于的基本对象的区别,是一种差异化继承
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: