84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
javascript是面向对象的,怎么体现javascript的继承关系?使用prototype来实现。
《圣经 创世纪 1.27》
神就照着自己的形像造人、乃是照着他的形像造男造女。
可见,上帝造人使用了一个模板(他自己),是按照一个既定的蓝图造出了人类,这个蓝图就是类,就是 class。
1996年7月5日多莉的诞生,改变了创造生命的过程。多莉不是被创造出来的,而是被克隆出来的,clone 就是复制的意思。
用模板生成对象,那么要实现继承,只需要把模板继承下来,如果需要扩展父类,只需要在模板上添加一些东西,最后在用这个模板生成对象。比如 Java、C++、.net、……
用 prototype 来实现继承,只需要把你继承的对象(注意不是类)复制(克隆)过来,如果需要扩展,只需要直接在对象上添加东西。
如果需要扩展多莉,为多莉增加翅膀,只需要把鸟的基因添加过来。但是我们并没有改变羊(class),而仅仅是改变了多莉(object)。
熟读并背诵JavaScript高级程序设计第6章。。0.0
我觉得这张图画的很形象。下面是我记得关于JavaScript原型的笔记http://fantasydai.github.io/2016/01/06/javaScript%E5%8E%9F%E5%9E%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/
今天在翻收藏夹时,看到以前收藏的一篇内容。 使用面向对象的技术创建高级 Web 应用程序 - http://msdn.microsoft.com/zh-cn/magazine/cc163419.aspx#S8 这里面提到了继承,同时,文章提到的Douglas Crockford(貌似闭包第一提出人?!)也有分享“证明了JavaScript不仅能支持传统的继承还能应用其它的代码复用模式。” 一文,地址:http://www.crockford.com/javascript/inheritance.html
请移步http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html 或者http://coolshell.cn/articles/6441.html
问的有点问题,建议先看看prototype的原理,理解了prototype的原理自然知道js里面怎么写继承 最重要的是,不要用c++,java,php等语言中的继承来对比理解prototype. js的基于prototype的继承完全是另一种玩法
怎么体现?还是怎么 实现?实现的话,这哪里是一个评论框可以写完的,而且介绍的文章和书籍很多很多啊,网上一搜一坨一坨的啊。
实现
楼主其实已经回答了自己的问题:能过prototype。 具体实现上,是通过__proto__attribute的指向。
__proto__
其实javascript更类似于传统电路版中的时序程序
《圣经 创世纪 1.27》
可见,上帝造人使用了一个模板(他自己),是按照一个既定的蓝图造出了人类,这个蓝图就是类,就是 class。
1996年7月5日多莉的诞生,改变了创造生命的过程。多莉不是被创造出来的,而是被克隆出来的,clone 就是复制的意思。
用模板生成对象,那么要实现继承,只需要把模板继承下来,如果需要扩展父类,只需要在模板上添加一些东西,最后在用这个模板生成对象。比如 Java、C++、.net、……
用 prototype 来实现继承,只需要把你继承的对象(注意不是类)复制(克隆)过来,如果需要扩展,只需要直接在对象上添加东西。
如果需要扩展多莉,为多莉增加翅膀,只需要把鸟的基因添加过来。但是我们并没有改变羊(class),而仅仅是改变了多莉(object)。
熟读并背诵JavaScript高级程序设计第6章。。0.0
我觉得这张图画的很形象。
下面是我记得关于JavaScript原型的笔记
http://fantasydai.github.io/2016/01/06/javaScript%E5%8E%9F%E5%9E%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/
今天在翻收藏夹时,看到以前收藏的一篇内容。
使用面向对象的技术创建高级 Web 应用程序 - http://msdn.microsoft.com/zh-cn/magazine/cc163419.aspx#S8
这里面提到了继承,同时,文章提到的Douglas Crockford(貌似闭包第一提出人?!)也有分享“证明了JavaScript不仅能支持传统的继承还能应用其它的代码复用模式。” 一文,地址:http://www.crockford.com/javascript/inheritance.html
请移步http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html
或者http://coolshell.cn/articles/6441.html
问的有点问题,建议先看看prototype的原理,理解了prototype的原理自然知道js里面怎么写继承
最重要的是,不要用c++,java,php等语言中的继承来对比理解prototype.
js的基于prototype的继承完全是另一种玩法
怎么体现?还是怎么
实现
?实现的话,这哪里是一个评论框可以写完的,而且介绍的文章和书籍很多很多啊,网上一搜一坨一坨的啊。楼主其实已经回答了自己的问题:能过prototype。 具体实现上,是通过
__proto__
attribute的指向。其实javascript更类似于传统电路版中的时序程序