返回顶部
首页 > 资讯 > 前端开发 > node.js >JS构造函数实例对象和原型对象之间的关系是什么
  • 443
分享到

JS构造函数实例对象和原型对象之间的关系是什么

2024-04-02 19:04:59 443人浏览 泡泡鱼
摘要

本篇内容介绍了“js构造函数实例对象和原型对象之间的关系是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

本篇内容介绍了“js构造函数实例对象和原型对象之间的关系是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    //自定义构造函数   
     function Person(name,age,gender) 
     {          
         this.name = name;          
         this.age = age;          
         this.gender = gender;          
         this.eat = function () 
         {            
             console.log("吃大蒜拌臭豆腐加榴莲酱");          
         };     
     }

       构造函数---->创建对象per

       var per = new Person('Linda',23,‘female’);

       

       补充:console.dir(per)可以打印出对象per的结构(属性与属性值)       

JS构造函数实例对象和原型对象之间的关系是什么

   以上我们可以得出实例对象与构造函数之间的关系如下:

1. 实例对象是通过构造函数来创建的---创建的过程叫实例化

 2. 如何判断对象是不是某构造器实例化的结果?(推荐第二种

     1) 通过构造器的方式, 即实例对象.构造器==构造函数名字: console.log(dog.constructor==Animal);

     2) 实例对象 instanceof 构造函数名字: console.log(dog instanceof Animal);


构造函数创建对象会带来问题,我们来看以下例子

       function Person(name, age) {
          this.name = name;
          this.age = age;
          this.eat = function () {
            console.log("今天吃红烧土豆");
          }
        }
        var per1 = new Person("小白", 20);
        var per2 = new Person("小黑", 30);
            per1.eat();
            per2.eat();

   JS构造函数实例对象和原型对象之间的关系是什么

    通过打印结果为false可以得出结论per1,per2并不共享eat方法,那么这很容易推论出通过自定义构造函数创建的对象实例并不节约内存空间,以此引出了原型来解决这个问题。

            function Person(name,age) {
                  this.name=name;
                  this.age=age;
             }
             
             //通过原型来添加方法,解决数据共享,节省内存空间
             Person.prototype.eat=function () {
                 console.log("吃凉菜");
             };
                
             var p1=new Person("小明",20);
             var p2=new Person("小红",30);

JS构造函数实例对象和原型对象之间的关系是什么

通过打印结果我们发现p1,p2两个实例对象共享eat方法,实现了数据共享,节省内存空间。但是我们查看实例对象的结构并没有发现eat方法 ,但是对象确实能调用到eat方法,这是什么原因呢?

     接着我们再来查看一下构造函数Person的结构

JS构造函数实例对象和原型对象之间的关系是什么

       通过console.dir(p1)查看对象的结构时,我们发现它除了age,name属性外,还存在一个_proto_属性,值是一个对象,在javascript中被称为隐式原型。一个对象的隐式原型指向构造该对象的构造函数的原型prototype, 这也保证了实例能够访问在构造函数原型中定义的属性和方法。

“JS构造函数实例对象和原型对象之间的关系是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: JS构造函数实例对象和原型对象之间的关系是什么

本文链接: https://lsjlt.com/news/84809.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JS构造函数实例对象和原型对象之间的关系是什么
    本篇内容介绍了“JS构造函数实例对象和原型对象之间的关系是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • javascript构造函数以及原型对象的示例分析
    小编给大家分享一下javascript构造函数以及原型对象的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!如果是实例方法,不同的实例化,它们引用的地址是不一样的,是唯一的。//定义...
    99+
    2024-04-02
  • JavaScript原型和原型链与构造函数和实例之间的关系详解
    目录原型原型链原型 如图所示: 1.instanceof检测构造函数与实例的关系: function Person () {.........} person = new Pers...
    99+
    2024-04-02
  • Unix函数和ASP对象之间的联系是什么?
    Unix函数和ASP对象是两个不同的概念,它们之间的联系主要表现在如何通过使用Unix函数来操作ASP对象。在本文中,我们将探讨Unix函数和ASP对象之间的联系,同时演示一些相关的代码。 首先,我们需要了解Unix函数和ASP对象的定义。...
    99+
    2023-10-27
    对象 unix 函数
  • JS构造函数和实例化的关系及原型引入
    目录1、 构造函数与实例化2、构造函数与实例化之间的关系?3、per1.say是否等于per2.say4、per1.say不等于per2.say得出的结论5、举例代码问题5.1代码出...
    99+
    2024-04-02
  • STL 函数对象与 C++ 泛型编程之间的关系?
    stl 函数对象是 c++++ 泛型编程的基础,两者相辅相成。stl 函数对象充当回调,在泛型算法中执行特定操作。1. 函数对象是类似于函数的类,拥有 operator() 方法。2. ...
    99+
    2024-04-25
    stl 泛型编程 c++
  • JavaScript构造函数与原型之间的联系是什么
    这篇文章主要介绍“JavaScript构造函数与原型之间的联系是什么”,在日常操作中,相信很多人在JavaScript构造函数与原型之间的联系是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScr...
    99+
    2023-06-21
  • JS创建对象常用设计模式工厂构造函数及原型
    目录引言工厂模式构造函数模式原型模式结语引言 很多工友们都说:设计模式根本用不到,然而它其实时刻就在我们身边,像王国维所说:众里寻他千百度,蓦然回首,那人正在灯火阑珊处。 工厂模式 ...
    99+
    2024-04-02
  • JS构造函数和实例化的关系及原型引入举例分析
    这篇文章主要介绍“JS构造函数和实例化的关系及原型引入举例分析”,在日常操作中,相信很多人在JS构造函数和实例化的关系及原型引入举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JS构造函数和实例化的关系...
    99+
    2023-06-21
  • ASP 对象和 Linux 数据类型之间有什么联系?
    ASP(Active Server Pages)是一种服务器端脚本语言,它允许开发人员动态生成网页内容,并与数据库进行交互。与之相对的,Linux 是一种开源的操作系统,被广泛应用于服务器端和嵌入式设备中。虽然它们看起来不太相关,但实际上...
    99+
    2023-08-26
    对象 linux 数据类型
  • JS的时间对象与引用类型是什么
    这篇文章主要讲解了“JS的时间对象与引用类型是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JS的时间对象与引用类型是什么”吧!   基础类型:Str...
    99+
    2024-04-02
  • python对象和类的关系是什么
    在Python中,类是对象的蓝图或模板。对象是类的实例化,即通过类创建的具体实体。类定义了对象的属性(变量)和行为(方法)。它可以看...
    99+
    2023-08-14
    python
  • C++对象模型之RTTI的实现原理是什么
    本篇内容介绍了“C++对象模型之RTTI的实现原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!RT...
    99+
    2024-04-02
  • C++对象的销毁之析构函数实例分析
    本文小编为大家详细介绍“C++对象的销毁之析构函数实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++对象的销毁之析构函数实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、对象的销毁生活中的对象...
    99+
    2023-06-30
  • python中类和对象的关系是什么
    在Python中,类是对象的蓝图或模板,而对象是类的实例。类定义了对象的属性和方法。通过创建一个对象,可以使用类中定义的属性和方法。...
    99+
    2023-09-15
    python
  • JavaScript对象的构造函数和new操作符怎么用
    本篇内容主要讲解“JavaScript对象的构造函数和new操作符怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript对象的构造函数和new...
    99+
    2024-04-02
  • Java、Windows、Laravel 和对象:它们之间的联系是什么?
    Java、Windows、Laravel 和对象,这四个词看起来毫无关联,但它们都是现代计算机科学中不可或缺的组成部分。在本文中,我们将探讨它们之间的联系以及它们如何相互作用。 Java Java 是一种广泛使用的编程语言,它的特点是可移...
    99+
    2023-09-22
    windows laravel 对象
  • 优化JS类和对象的重构思路是什么
    优化JS类和对象的重构思路是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。JavaScript 是一种易于学习的编程语言,编写运行并执...
    99+
    2024-04-02
  • javascript的构造函数, 原型,原型链和new是什么
    这篇“javascript的构造函数, 原型,原型链和new是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“j...
    99+
    2023-06-29
  • Java中方法和对象的关系是什么
    在Java中,方法和对象是密切相关的。对象是类的实例,它可以拥有属性和行为。方法是对象的行为,它定义了对象可以执行的操作。 在Jav...
    99+
    2023-10-26
    Java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作