博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node.js原型继承
阅读量:6348 次
发布时间:2019-06-22

本文共 540 字,大约阅读时间需要 1 分钟。

hot3.png

在实现继承之前先写一个node的对象

095728_NKQQ_2398693.png

通过上面能看到,在这个对象中定义了两个属性和一个函数,但是这里面的属性name可以看到不仅在内部函数中使用还在外部使用,但是不管在哪里使用都会得到结果undefined,当调用里面的cont()函数时系统会报cont is not a function,说明如此使用是无效的,违反规则的。

那么想在对象中定义属性和函数能被使用的话需要

100601_aazX_2398693.png

又或者可以定义对象原型的属性和函数

111022_6X3u_2398693.png

这就引出了下面的要写的重点(原型的继承):

133711_SU6v_2398693.png

如上代码里可以看到main继承于base,但是main中能够从base中继承的只有原型中定义的属性和函数,比如在下面写的

m.cont()

如果执行就会报cont is not a function的错误,同样在控制台输出

console.log(m.base);

会得到undefined的结果,但是

console.log(m.range);

m.showname();

是没有问题的。通过试验和资料得知node的对象继承是和类继承不相同的,node的继承是通过原型继承,应该说是原型复制而不是我们其它面向对象的继承。

转载于:https://my.oschina.net/u/2398693/blog/1808120

你可能感兴趣的文章
[LeetCode] Lowest Common Ancestor of a Binary Tree
查看>>
运用Merge Into实现增加或更新数据
查看>>
Python——eventlet.greenthread
查看>>
使用sphinx创建和查看文档
查看>>
记大众点评之面试经历
查看>>
ABAP中查找代码的标准程序
查看>>
第七次作业
查看>>
第三章:基本概念
查看>>
Jersey+mybatis实现web项目第一篇
查看>>
C++形参中const char * 与 char * 的区别
查看>>
espresso 2.0.4 Apple Xcode 4.4.1 coteditor 价格
查看>>
Object-C中emoji与json的问题
查看>>
一、Lambda表达式
查看>>
linux 命令
查看>>
大二下周总结四
查看>>
转 常见视频编码方式以及封装格式
查看>>
灾后重建
查看>>
Nothing 和 Is
查看>>
第一个sprint冲刺第三天
查看>>
【As Easy As A+B - 专题训练-排序】
查看>>