首页 >web前端 >js教程 > 正文

js原型是什么意思?

原创2020-09-16 17:46:0504188

原型是JavaScript中一个比较难理解的概念,原型相关的属性也比较多,对象有”prototype”属性,函数对象有”prototype”属性,原型对象有”constructor”属性。

初识原型

在JavaScript中,原型也是一个对象,通过原型可以实现对象的属性继承,JavaScript的对象中都包含了一个”[[Prototype]]”内部属性,这个属性所对应的就是该对象的原型。

“[[Prototype]]”作为对象的内部属性,是不能被直接访问的。所以为了方便查看一个对象的原型,Firefox和Chrome中提供了__proto__这个非标准(不是所有浏览器都支持)的访问器(ECMA引入了标准对象原型访问器”Object.getPrototype(object)”)。

在JavaScript的原型对象中,还包含一个”constructor”属性,这个属性对应创建所有指向该原型的实例的构造函数

在JavaScript中,每个函数 都有一个prototype属性,当一个函数被用作构造函数来创建实例时,这个函数的prototype属性值会被作为原型赋值给所有对象实例(也就是设置 实例的`__proto__`属性),也就是说,所有实例的原型引用的是函数的prototype属性。(****`只有函数对象才会有这个属性!`****)

new 的过程分为三步

var p = new Person('张三',20);

1. var p={}; 初始化一个对象p。

2. p._proto_=Person.prototype;,将对象p的 __proto__ 属性设置为 Person.prototype

3. Person.call(p,”张三”,20);调用构造函数Person来初始化p。

以上就是js原型是什么意思?的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码
  • 相关标签:js原型
  • 本文原创发布php中文网,转载请注明出处,感谢您的尊重!
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 在JavaScript中,一个对象,通过可以实现对象的属性继承,JavaScript的对象中都包含了一个【[[Prototype]]】内部属性,这个属性所对应的就该对象的
    C语言中sqrt平方根函数,作用计算一个非负实数的平方根,在VC6中的“math.h”文件中该函数为“double sqrt(double number)”,该函数的输入参数不允许为负数。
    js开发应用中我们通常会碰到“|”与“||”了,那在运算中“|”与“||”呢?本篇文章主要介绍了详解js运算符单竖杠“|”与“||”的用法,有需要的可以了解一下。
    flexflex布局?
    Proxy 对象到底?Proxy 对象到底呢?Proxy 的代理,proxy对象的作用:通过Proxy 创建1个代理对象,然后通过操作代理对象。
    每个构造函数都有对象,每个构造函数实例都包含一个指向对象的内部指针proto,如果我们让第一个构造函数的对象等于第二个构造函数的实例,以此类推,就够成了实例于的链条,这就链。
    java面试题:解释一下MyBatis中命名空间(namespace)的作用;MyBatis中的动态SQL;JDBC编程有哪些不足之处,MyBatis如何解决这些问题的。
    如果你一个前端开发人员,当你在开发新项目时,想必一定被人问过“你用的框架?”进而开展各种前端技术话题。但对于初入门的前端小白来说,遇到这样的问题估计会产生一系列的疑问“前端框架
    js filter一个方法,filter为数组中的每个元素调用一次callback函数,并利用所有使得callback返回true或 等价于true的值,创建一个新数组。

    2020-06-30

    JavaScript简称【JS一种具有函数优先的轻量级,解释或即时编译的编程语言,它作为开发Web页面的脚本语言而出名,但它也被用到了很多非浏览器环境中,支持面向对象、命令式和声明式风格。
    在python中,endprint()函数的一个参数,用于设置输出语句结束以后以结尾。默认值换行符\n,我们可以换成其他字符串;“end=' '”末尾不换行,加空格。
    AMD号的:1、第一个字母J代表制造该CPU的晶圆离整个晶圆片核心距离的远近;2、XPCW这四个字母的整体义并不清楚,但第三位的C代表该CPU的生产批次;3、前7位数字代表晶圆体或该晶圆片的编号
    在java中,void代表的“空”,即“都不返回”,在方法申明的时候表示该方法没有返回值。void对应着一个Void类,Void类用final修饰的,一个不可实例化的占位符类。
    详解Apache、PHP和Mysql之间的关系注: 本文主要写给基础薄弱的同学, 如有不当之处,还请指正。
    js中的伪数组指:无法直接调用数组方法或期望length属性有特殊的行为,但仍可以通过遍历方法来遍历它们,典函数的argument参数。
    CSS盒子模都具备内容content、内边距padding、边框border、外边距margin这些属性,这些属性可以用日常生活中的常见事物“盒子”作一个比喻来理解,所以称作为盒子模
    自执行匿名函数【(function() { /* code */ })()】可以用它创建命名空间,只要把自己所有的代码都写在这个特殊的函数包装内,那外部就不能访问,除非你允许变量前加上window。
    本篇文章,我们将从索引基础开始,介绍索引以及索引的几种类,然后学习如何创建索引以及索引设计的基本则。
    c语言long类指的c语言中的一个关键字,代表一种数据类,中文为长整;longlong int的简写,也就说在c语言中long int类和long类相同的,并且每个long占4个字节
    php弱类变量指,在声明一个变量时,我们不需要指明它保存的数据类。php一门弱类的语言,它不会严格检验变量类,变量可以不显示地声明其类,而在运行期间直接赋值。

    专题推荐

    推荐视频教程
  • js高级面向对象和组件开发视频教程js高级面向对象和组件开发视频教程
  • JS抽象类和事件设计模式视频教程JS抽象类和事件设计模式视频教程
  • nodeJS视频教程nodeJS视频教程
  • ReactJS中文基础视频教程ReactJS中文基础视频教程
  • 视频教程分类