zoukankan      html  css  js  c++  java
  • js继承

    看完别人写的博客,我也就过来自己写计一下。

    在js中没有子类和父类的概念,全靠的都是原型链这个东西。

    在js创建之初,他的作者Brendan Eich就说过,设计这个语言,不需要太复杂用来做表单的验证就行。

    js是简明的脚本语言,就不能有继承的机制,但是js中都是对象,就必须有“继承”。最后Brendan Eich决定创建一个继承。

    但是,他不打算引入类,因为引入类的概念以后,js就完全是面向对象的编程。

    然会Brendan Eich就引用c++和java的new的操作,但是他并不打算引入类,所以在new的后面跟的是构造函数。

    function  obj(name){

      this.name = name;

    }

    var  obj = new obj('dog');

    console.log(obj);  //dog

    但是这是我再new一个电子狗的时候,他们俩并不会相互印象。

    var obj1 = new obj('e-dog');

    console.log(obj1);  //e-dog

    这就是new的一个缺点,实例并不能共享。

    所以他又创建了一个方法,prototype。

    这个方法用来解决构造函数不能实例共享的缺点。

    obj1.prototype.name = "混合狗";

    console.log(obj);  // 混合狗

    console.log(obj1);  // 混合狗

    这就是js的继承。

  • 相关阅读:
    Decompiling XAPK Files
    ps4双手柄inputManager设置
    游客须知
    页面类
    Temp
    Web AppDomain
    委托和事件
    动态执行js
    遍历对象属性,成员,方法的方法
    用Windows操作系统的人有时会遇到这样的错误信息:
  • 原文地址:https://www.cnblogs.com/chenyudi/p/11235910.html
Copyright © 2011-2022 走看看