JavaScript对象继承的方法

简介:

    写这个话题单纯是给自己做笔记了,不然老忘记。

    第一种方法:

1
2
3
4
5
6
7
8
9
10
     function  fn1(x) {
         this .x = x;
     }
 
     function  fn2(x, y) {
         this .tmpObj = fn1;
         this .tmpObj(x);
         delete  this .tmpObj;
         this .y = y;
     }

    第二种方法:call()或apply()

1
2
3
4
5
6
7
8
     function  fn1(x) {
         this .x = x;
     }
 
     function  fn2(x, y) {
         fn1.call( this , x);
         this .y = y;
     }

    第三种方法:原型链继承

1
2
3
4
5
6
7
8
9
10
11
12
13
14
     function  fn1(x) {
         this .x = x;
     }
 
     fn1.prototype.y =  function () {
         console.log( "i am pomelo" );
     }
 
     function  fn2() {}
 
     fn2.prototype =  new  fn1();
     fn2.prototype.constructor = fn2;
     var  fn2Obj =  new  fn2();
     fn2Obj.y();

    实际用得最多的是第二种和第三种。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
     function  fn1(x) {
         this .x = x;
     }
 
     fn1.prototype.z =  function () {
         console.log( "i am pomelo" );
     }
 
     function  fn2(x, y) {
         fn1.apply( this , [x]);
         this .y = y;
     }
 
     fn2.prototype =  new  fn1();
     fn2.prototype.constructor = fn2;
     var  fn2Obj =  new  fn2(1024, 2048);
     console.log(fn2Obj.x);
     console.log(fn2Obj.y);
     fn2Obj.z();










本文转自 iampomelo 51CTO博客,原文链接:http://blog.51cto.com/iampomelo/1677585,如需转载请自行联系原作者
目录
相关文章
|
11月前
|
JavaScript Linux 内存技术
Debian 11系统下Node.js版本更新方法详解
本指南详细介绍在Linux系统中安装和管理Node.js的步骤。首先检查现有环境,包括查看当前版本和清除旧版本;接着通过NodeSource仓库安装最新版Node.js并验证安装结果。推荐使用nvm(Node Version Manager)进行多版本管理,便于切换和设置默认版本。同时,提供常见问题解决方法,如权限错误处理和全局模块迁移方案,以及版本回滚操作,确保用户能够灵活应对不同需求。
1414 0
|
JavaScript 前端开发
如何在 JavaScript 中使用 __proto__ 实现对象的继承?
使用`__proto__`实现对象继承时需要注意原型链的完整性和属性方法的正确继承,避免出现意外的行为和错误。同时,在现代JavaScript中,也可以使用`class`和`extends`关键字来实现更简洁和直观的继承语法,但理解基于`__proto__`的继承方式对于深入理解JavaScript的面向对象编程和原型链机制仍然具有重要意义。
|
11月前
|
JavaScript Linux 内存技术
Debian 11系统下Node.js版本更新方法
Debian 11更新Node.js主要就是这三种方式,无论你是初涉其中的新手还是找寻挑战的专家,总有一种方式能满足你的需求。现在,你已经是这个
1412 80
|
JavaScript 前端开发 程序员
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
669 1
|
监控 JavaScript Java
Node.js中内存泄漏的检测方法
检测内存泄漏需要综合运用多种方法,并结合实际的应用场景和代码特点进行分析。及时发现和解决内存泄漏问题,可以提高应用的稳定性和性能,避免潜在的风险和故障。同时,不断学习和掌握内存管理的知识,也是有效预防内存泄漏的重要途径。
1085 159
|
编解码 JavaScript 前端开发
【Java进阶】详解JavaScript的BOM(浏览器对象模型)
总的来说,BOM提供了一种方式来与浏览器进行交互。通过BOM,你可以操作窗口、获取URL、操作历史、访问HTML文档、获取浏览器信息和屏幕信息等。虽然BOM并没有正式的标准,但大多数现代浏览器都实现了相似的功能,因此,你可以放心地在你的JavaScript代码中使用BOM。
386 23
|
JavaScript 前端开发 Java
js 垃圾回收机制的方法
JS回收机制方法讲解
|
JavaScript 前端开发
.js方法参数argument
【10月更文挑战第26天】`arguments` 对象为JavaScript函数提供了一种灵活处理参数的方式,能够满足各种不同的参数传递和处理需求,在实际开发中具有广泛的应用价值。
450 63

热门文章

最新文章