美文网首页
Javascript使用prototype.__proto__实

Javascript使用prototype.__proto__实

作者: CoderQ | 来源:发表于2016-01-03 09:14 被阅读0次

由于个人博客的服务器提供商最近打算关闭服务,无奈只能考虑将部分认为有价值的东西转移到简书这边过来,搞过一次个人博客就不太想再搞第二次了。
以下的方式实现的Javascript继承非常简单使用。javascript中一切都是对象,每个对象都是基于原型对象创建的,每个对象中都有proto属性,这个属性指向的就是它基于的原型对象。

var Parent = function () {
    this.name = 'parent';
};
Parent.prototype.sayName = function () {
    alert(this.name);
};
var Son = function () {
    Parent.apply(this, arguments);
    this.name = 'son';
};
Son.prototype.__proto__ = Parent.prototype;
Son.prototype.sayName = function() {
    alert('My name is:' + this.name);
};
var parent = new Parent();
var son = new Son();
parent.sayName();
son.sayName();
console.log(
    Parent.__proto__ === Function.prototype,
    parent.__proto__ === Parent.prototype,
    parent.constructor === Parent,
    Son.__proto__ === Function.prototype,
    son.__proto__ === Son.prototype,
    son.constructor === Son
);

参考了两篇文章实现的:
http://www.ruanyifeng.com/blog/2011/06/designing_ideas_of_inheritance_mechanism_in_javascript.html
http://blogzhoubo.iteye.com/blog/1685368

相关文章

  • Javascript使用prototype.__proto__实

    由于个人博客的服务器提供商最近打算关闭服务,无奈只能考虑将部分认为有价值的东西转移到简书这边过来,搞过一次个人博客...

  • 新建对象的三种方式

    JavaScript中对象的创建有以下几种方式:(1)使用内置对象 var str = new String("实...

  • 老司机Studio 第四章

    Javascript初步 Javascript基本概念 Javascript 是 ECMAScript标准的一种实...

  • node的crypto模块

    crypto的目的是提供通用的加密和哈希算法,javascript可以实现,但速度很慢,node使用了c/c++实...

  • 第01章 - Javascript 简介

    1.1 Javascript 简史 讲述了 Javascrip 诞生和发展的过程 1.2 Javascript 实...

  • ECMAScript 6重点一览——基础篇

    背景介绍 ECMAScript是JavaScript语言的国际标准,JavaScript是ECMAScript的实...

  • 13 事件

    本章内容 理解事件流 使用事件处理程序 不同的事件类型 JavaScript 与 HTML 之间的交互是通过事件实...

  • Javascript原型链

    原型链的继承就是将子类的prototype.__proto__链接到父类的prototype,借此完成原型链 实例...

  • JavaScript绑定事件的三种方式

    @(javascript)[JavaScript事件绑定] JavaScript绑定事件的三种方式 使用内联 使用...

  • JavaScript 基础

    JavaScript基础 JavaScript简介JavaScript对象 JavaScript简介 为什么使用j...

网友评论

      本文标题:Javascript使用prototype.__proto__实

      本文链接:https://www.haomeiwen.com/subject/ddbnhttx.html