Javascript对象原型是什么

技术Javascript对象原型是什么本篇内容主要讲解“Javascript对象原型是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Javascript对象原型是什么”吧

本文主要讲解“什么是Javascript对象原型”,感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖学习“Javascript对象的原型是什么”!

JavaScript通常被描述为基于原型的语言。每个对象都有一个原型对象,该对象将其原型作为模板,并从原型继承方法和属性。

一个对象也可以有一个原型,并从原型中一层一层地继承方法和属性,等等。这种关系通常被称为原型链,它解释了为什么一个对象具有在其他对象中定义的属性和方法。

对象原型Prototype

1、方法过载

使用以下代码创建一个kitten构造函数:

functionCat(名称,颜色){ this.name=namethis.color=colorThis.run=function(){alert("一只" this.color "小猫飞过.");}这个。eat=function () {alert (this。名字“想吃鱼”);} } var cat1=NewCat();上面用这个定义的所有方法,这代表一个新的实例,将在创建一个新实例时创建该方法的一个副本。

是不是有点多余?怎么解决?

分析:在实例级定义每种类型每次都具有的特征有点浪费,所以如果可以在类级定义,那么每个实例都会自动具有类的一般特征。这里我们将使用原型。

2、原型的使用

2.1.原型属性

在JavaScript中,函数本身也是一个包含“方法”和“属性”的对象。比如我学习了一些方法(比如constructor())和属性(比如name和length)等等。

现在来介绍一个新的属性--原型Prototype。

我们创建的每个函数都有一个原型属性,它指向一个对象,该对象的目的是包含特定类型的所有实例都可以共享的属性和方法。

//定义一个构造函数functionPerson(name,Age){}//函数console . debug(person . length)/=2//构造函数console . debug(person . constructor)/==function()//prototype type console . debug(person . prototype)/==object//prototype content console . debug(person . prototype)//每个类(构造函数)都有一个prototype属性,创建这个类的实例对象的prototype对象的所有属性都会立即赋予要创建的对象

2.2.原型操作

设置:

构造函数。原型。属性=属性值构造函数。原型。方法=函数值:

对象。属性对象。方法()2.3。属性访问的优先级

本机属性优先于原型属性。遵循自上而下的搜索:

2.4,神秘__proto__属性

直接通过object.name访问对象的属性

神奇的用户。的__proto__属性,它实际上是相应用户类的原型属性。

console.debug(用户。_ _ proto _ _===user . proto typ);//==true;

_proto_ property属于对象实例,即原型属性类的属性。

每个对象创建后,都会自动建立一个对原型的引用,这样对象就具备了type prototype的所有特性。

可以通过对象直接访问对象的__proto__(原型)属性中的成员。会员。

至此,相信大家对“Javascript对象的原型是什么”有了更深的理解,让我们在实践中去做吧!这是网站。更多相关内容,可以去相关渠道查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/107414.html

(0)

相关推荐

  • Java基础学习笔记

    技术Java基础学习笔记 Java基础学习笔记Java基础思维导图
    左键在“新标签页打开图片”可查看高清大图一、Java入门特性与优势
    高可用 高并发 高性能
    面向对象、多线程、简单性(去掉了内存分配、

    礼包 2021年12月1日
  • kcl方程,基尔霍夫解光的电磁波方程

    技术kcl方程,基尔霍夫解光的电磁波方程1、假设各支路电流正方向及回路的绕行方向kcl方程。
    2、应用KCL列出节点的电流方程。对于有n个节点的电路,只能选取n-1个节点列方程。
    3、应用KVL列出回路的电压方程。对于有

    生活 2021年10月19日
  • ORACLE中出现ORA-28365错误怎么办

    技术ORACLE中出现ORA-28365错误怎么办这篇文章主要为大家展示了“ORACLE中出现ORA-28365错误怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ORA

    攻略 2021年11月20日
  • 如何解决红杉离线备份的相关问题

    技术Sequoiadb backupOffline相关问题怎么解决这篇文章主要介绍“Sequoiadb backupOffline相关问题怎么解决”,在日常操作中,相信很多人在Sequoiadb backupOfflin

    攻略 2021年12月22日
  • Mysql数据库多实例配置的示例分析

    技术Mysql数据库多实例配置的示例分析小编给大家分享一下Mysql数据库多实例配置的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!二进制安装:
    [root@lufengcentos ~]# m

    攻略 2021年11月18日
  • spring boot的多线程并发定时任务是什么

    技术spring boot的多线程并发定时任务是什么spring boot的多线程并发定时任务是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所

    攻略 2021年10月21日