javascript面向对象编程子类如何继承父类分析

简介:

javascript面向对象编程子类如何继承父类分析?

在javascript面向对象中 怎样能使子类继承父类?我这边可以用两种常见的方式!一:构造函数继承  二:原型(prototype)模式继承

一:构造函数模式实现继承:假如页面上有animal函数 和 cat函数 那么我怎么样能让cat函数继承与animal函数呢?假如页面有如下两个函数!!

function animal(){

     this.special = "动物";

}

function cat(name,age){

       animal.apply(this,arguments)  //用apply或call就可以实现子类继承父类 这样调用父类就可以了!!!

       this.name = name;

       this.age = age;

}

     我们可以测试下 :

     var obj = new cat("mao",11);

      console.log(obj.special );  我们在火狐firebug下 可以看到输出“动物” 那么就实现了子类继承与父类了!

二 : 第二种方式用prototype模式也可以实现子类继承与父类!还是上面两个函数

       

function animal(){

     this.special = "动物";

}

function cat(name,age){

       cat.prototype = new animal(); //我们将cat的prototype对象指向一个animal的实例  它相当于完全删除了prototype 对象原先的值,然后赋予一个新值。
        cat.prototype.constructor  = cat;
        /* 原来,任何一个prototype对象都有一个constructor属性,指向它的构造函数。也就是说,cat.prototype 这个对象的constructor属性,是指向cat的。
我们在前一步已经删除了这个prototype对象原来的值,所以新的prototype对象没有constructor属性,所以我们必须手动加上去,否则后面的"继承链"会出问题。
总之,这是很重要的一点,编程时务必要遵守。即如果替换了prototype对象, */  下面我们是测试!!!
    var obj = new cat("xiao",12);
    console.log(obj.species);

       this.name = name;

       this.age = age;

}

同样的道理在火狐下 我们也可以看到输出“动物”也实现子类继承与父类!!










本文转自 涂根华 51CTO博客,原文链接:http://blog.51cto.com/tugenhua/735733,如需转载请自行联系原作者
目录
相关文章
|
Web App开发 监控 JavaScript
监控和分析 JavaScript 内存使用情况
【10月更文挑战第30天】通过使用上述的浏览器开发者工具、性能分析工具和内存泄漏检测工具,可以有效地监控和分析JavaScript内存使用情况,及时发现和解决内存泄漏、过度内存消耗等问题,从而提高JavaScript应用程序的性能和稳定性。在实际开发中,可以根据具体的需求和场景选择合适的工具和方法来进行内存监控和分析。
|
2月前
|
运维 监控 JavaScript
基于 Node.js 图结构的局域网设备拓扑分析算法在局域网内监控软件中的应用研究
本文探讨图结构在局域网监控系统中的应用,通过Node.js实现设备拓扑建模、路径分析与故障定位,提升网络可视化、可追溯性与运维效率,结合模拟实验验证其高效性与准确性。
231 3
|
JavaScript 前端开发
如何在 JavaScript 中使用 __proto__ 实现对象的继承?
使用`__proto__`实现对象继承时需要注意原型链的完整性和属性方法的正确继承,避免出现意外的行为和错误。同时,在现代JavaScript中,也可以使用`class`和`extends`关键字来实现更简洁和直观的继承语法,但理解基于`__proto__`的继承方式对于深入理解JavaScript的面向对象编程和原型链机制仍然具有重要意义。
|
8月前
|
数据采集 前端开发 JavaScript
金融数据分析:解析JavaScript渲染的隐藏表格
本文详解了如何使用Python与Selenium结合代理IP技术,从金融网站(如东方财富网)抓取由JavaScript渲染的隐藏表格数据。内容涵盖环境搭建、代理配置、模拟用户行为、数据解析与分析等关键步骤。通过设置Cookie和User-Agent,突破反爬机制;借助Selenium等待页面渲染,精准定位动态数据。同时,提供了常见错误解决方案及延伸练习,帮助读者掌握金融数据采集的核心技能,为投资决策提供支持。注意规避动态加载、代理验证及元素定位等潜在陷阱,确保数据抓取高效稳定。
268 17
|
JavaScript
如何使用内存快照分析工具来分析Node.js应用的内存问题?
需要注意的是,不同的内存快照分析工具可能具有不同的功能和操作方式,在使用时需要根据具体工具的说明和特点进行灵活运用。
389 62
|
JavaScript 前端开发 API
Vue.js与Angular的优劣分析
Vue.js和Angular都是非常流行的JavaScript框架,它们在构建现代Web应用程序方面各有优劣
315 64
|
JavaScript 前端开发 开发者
js实现继承怎么实现
【10月更文挑战第26天】每种方式都有其优缺点和适用场景,开发者可以根据具体的需求和项目情况选择合适的继承方式来实现代码的复用和扩展。
217 61
|
JavaScript 前端开发 安全
JavaScript与TypeScript的对比,分析了两者的特性及在实际项目中的应用选择
本文深入探讨了JavaScript与TypeScript的对比,分析了两者的特性及在实际项目中的应用选择。JavaScript以其灵活性和广泛的生态支持著称,而TypeScript通过引入静态类型系统,提高了代码的可靠性和可维护性,特别适合大型项目。文章还讨论了结合使用两种语言的优势,以及如何根据项目需求和技术背景做出最佳选择。
1439 4
|
JavaScript 前端开发
Javascript如何实现继承?
【10月更文挑战第24天】JavaScript 中实现继承的方式有很多种,每种方式都有其优缺点和适用场景。在实际开发中,我们需要根据具体的需求和情况选择合适的继承方式,以实现代码的复用和扩展。
129 11
|
运维 监控 JavaScript
鸿蒙next版开发:分析JS Crash(进程崩溃)
在HarmonyOS 5.0中,JS Crash指未处理的JavaScript异常导致应用意外退出。本文详细介绍如何分析JS Crash,包括异常捕获、日志分析和典型案例,帮助开发者定位问题、修复错误,提升应用稳定性。通过DevEco Studio收集日志,结合HiChecker工具,有效解决JS Crash问题。
513 4