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的继承。

  • 相关阅读:
    [JavaScript] cookie和storage
    react-interview-02
    简单实现一个Vue
    js获取当前页面url
    鸽巢原理
    20210412-1 原型设计作业
    案例分析作业
    软件工程的202103226-1编程作业
    阅读反馈
    软件工程第一课
  • 原文地址:https://www.cnblogs.com/chenyudi/p/11235910.html
Copyright © 2011-2022 走看看