Web开发——JavaScript基础(继承)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Web开发——JavaScript基础(继承),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2310字,纯文字阅读大概需要4分钟。
内容图文
![Web开发——JavaScript基础(继承)](/upload/InfoBanner/zyjiaocheng/855/018ecc6f054c41648ea988c593a8e61c.jpg)
当前参考学习《JavaScript语言精粹》
在基于类的语言中,对象是类的实例,并且类可以从另一个类继承。JavaScript是一门基于原型的语言,这意味着对象直接从其它对象继承。
1、伪类
当一个函数对象被创建时,Function构造器产生的函数对象会运行类似这样的一些代码:
1 this.prototype = {constructor: this};
新函数对象被赋予一个prototype属性,其值是包含一个constructor属性且属性值为该新函数对象。该prototype对象是存放继承特征的地方。因为JavaScript语言没有提供一种方法确定哪个函数式打算用来作构造器的,所以每个函数都会得到一个prototype对象。constructor属性没什么用。重要的是prototype对象。
我们可以定义一个构造器并扩充它的原型:
1 var Mammal = function (name) { 2 this.name = name; 3 }; 4 Mammal.prototype.get_name = function () { 5 return this.name; 6 }; 7 Mammal.prototype.says = function () { 8 return this.saying || ''; 9 }; 10 11 // 现在可以构造一个实例 12 var myMammal = new Mammal("Herb the Mammal"); 13 var name = myMammal.get_name(); 14 console.log(name);
输出结果:Herb the Mammal
我们可以构造另一个伪类来继承Mammel,这是通过定义它的constructor函数并替换它的prototype为一个Mammal的实例来实现的:
1 var Mammal = function (name) { 2 this.name = name; 3 }; 4 Mammal.prototype.get_name = function () { 5 return this.name; 6 }; 7 Mammal.prototype.says = function () { 8 return this.saying || ''; 9 }; 10 11 // // 现在可以构造一个实例 12 // var myMammal = new Mammal("Herb the Mammal"); 13 // var name = myMammal.get_name(); 14 // console.log(name); 15 16 var Cat = function (name) { 17 this.name = name; 18 this.saying = 'meow'; 19 }; 20 // 替换Cat.prototype为一个新的Mammal实例 21 Cat.prototype = new Mammal(); 22 // 扩充新原型对象,增加purr和get_name方法 23 Cat.prototype.purr = function (n) { 24 var i, s = ''; 25 for (i = 0; i < n; i++) { 26 if (s) { 27 s += '-'; 28 } 29 s += 'r'; 30 } 31 return s; 32 }; 33 Cat.prototype.get_name = function () { 34 return this.says() + ' ' + this.name + ' ' + this.says(); 35 }; 36 37 var myCat = new Cat('Henrietta'); 38 var says = myCat.says(); 39 console.log(says); // 'meow' 40 var purr = myCat.purr(5); 41 console.log(purr); // r-r-r-r-r 42 var name = myCat.get_name(); 43 console.log(name); // 'meow Henrietta meow'
输出结果:
1 r-r-r-r-r 2 meow Henrietta meow
内容总结
以上是互联网集市为您收集整理的Web开发——JavaScript基础(继承)全部内容,希望文章能够帮你解决Web开发——JavaScript基础(继承)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。