构造函数,实例对象和原型对象,三者关系

构造函数里面有原型(prototype)属性,即原型对象

原型对象里的constryctor构造器指向构造函数

通过构造函数,实例化,创建的就是实例对象。

实例对象通过__proto__属性调用原型对象里面的方法

  • 构造函数可以实例化对象
  • 构造函数中有一个属性叫prototype, 是构造函数的原型对象
  • 构造函数的原型对象(prototype)中有一个constructor构造器, 这个构造器指向的就是自己所在的原型对象所在的构造函数
  • 实例对象的原型对象(__proto__)指向的是该构造函数的原型对象
  • 构造函数的原型对象(prototype)中的方法是可以被实例对象直接访问的
 
    //通过构造函数实例对象,并初始化
var arr = new Array(10, 20, 30, 40);
//join是方法,实例对象调用的方法
arr.join("|");
console.dir(arr);
//join方法在实例对象__proto__原型
console.log(arr.__proto__ == Array.prototype);

JS高级---构造函数,实例对象和原型对象,三者关系的更多相关文章

  1. js高级——构造函数,实例对象和原型对象——prototype、__proto__和constructor构造器

    一.前言 了解JavaScript面向对象,需要先了解三个名词: 构造函数,实例对象和原型对象. 注意:JavaScript中没有类(class)的概念,取而代之的是构造函数,两者类似却又有很大的差别 ...

  2. JS高级---构造函数通过原型添加方法,原型的作用: 共享数据, 节省内存空间

    JS高级---构造函数,通过原型添加方法,原型的作用: 共享数据, 节省内存空间 构造函数 //构造函数 function Person(sex, age) { this.sex = sex; thi ...

  3. 理解javascript 对象,原型对象、闭包

    javascript作为一个面向对象的语言,理解 对象.原型.闭包.模块模式等技术点对于成为一名合格的javascript程序员相当重要,多年没写过blog,今天就先拋个玉,在下基本也不做前端,但颇感 ...

  4. JS核心系列:浅谈原型对象和原型链

    在Javascript中,万物皆对象,但对象也有区别,大致可以分为两类,即:普通对象(Object)和函数对象(Function). 一般而言,通过new Function产生的对象是函数对象,其他对 ...

  5. 关于Javascript中通过实例对象修改原型对象属性值的问题

    Javascript中的数据值有两大类:基本类型的数据值和引用类型的数据值. 基本类型的数据值有5种:null.undefined.number.boolean和string. 引用类型的数据值往大的 ...

  6. 对ES6中类class以及实例对象、原型对象、原型链之间关系的详细总结

    1. 类 ES6 中新增加了类的概念,可以使用 class 关键字声明一个类,之后用这个类来实例化对象.即类的用途:实例化对象. // 创建一个Person类 class Person { } // ...

  7. jQuery的核心对象、原型对象、静态方法、动态方法

    什么叫jQuery的核心对象? $ $===jQuery 什么叫jQuery的原型对象? $.fn $.fn===$.prototype 什么叫静态方法? 在构造函树上定义的方法,静态方法通过构造函数 ...

  8. js - 构造函数-静态属性/方法-原型对象 - 前端第八课

    先来个普通对象 var duixiang={ a:"111", b:function (s) { return s+"886"; } }; console.lo ...

  9. js学习(四)- prototype原型对象

    前言: 下面两行代码都是创建一个数组对象myArray:var myArray=[];//等价于var myArray=new Array();同样,下面的两段代码也都是创建一个函数myFunctio ...

随机推荐

  1. mybatis-plus - buildSqlSessionFactory()

    一. buildSqlSessionFactory() mybatis-plus 同样的是调用  factory.getObject() 方法来进行 SqlSessionFactory 创建的. 然后 ...

  2. c语言该怎么入门?C语言入门教程(非常详细)

    C语言是一门面向过程的编译型语言,它的运行速度极快,仅次于汇编语言.C语言是计算机产业的核心语言,操作系统.硬件驱动.关键组件.数据库等都离不开C语言:不学习C语言,就不能了解计算机底层. 这套「C语 ...

  3. C++-hihoCode1546-[快速幂]

    枚举子集,要求子集的min+max<=k,求子集个数,答案对1000000007取模 #include <bits/stdc++.h> using namespace std; ,M ...

  4. 测试准确率计算方法说明 pre.eq(target).float().sum().item()

    测试准确率计算方法说明 pre.eq(target).float().sum().item() 待办 pred = logits.argmax(dim=1) correct += pred.eq(ta ...

  5. maven构建错误 RSA premaster secret error: SunTls12RsaPremasterSecret KeyGenerator not available

    转载地址:https://blog.csdn.net/daydayuptiantian/article/details/78763035 错误信息前面显示的是:Failed to execute go ...

  6. mysql 1130 Navicat for MySQL 连接MySQL 8.0 出现1130错误

    可能是帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑登入MySQL后,更改"MySQL"数据库"user"表里的&q ...

  7. k线、指标绘制

    我接触的绘制有两种:gdi+和qt绘图.可以灵活的绘制任何想要的东西. 先上效果图吧. 如下:基于gdi+的股指和股票的绘制.上面是沪深成分股实时生成的股票指数走势,下面是IF主力走势和开平仓位置. ...

  8. Whctf 2017 -UNTITLED- Writeup

    Whctf 2017 -UNTITLED- Writeup 转载请表明出处http://www.cnblogs.com/WangAoBo/p/7541481.html 分析: 下载下来的附件是一个py ...

  9. StringBuilder与String的区别

    String 在进行运算时(如赋值.拼接等)会产生一个新的实例,而 StringBuilder 则不会.所以在大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder,不要使用  ...

  10. AcWing 831. KMP字符串

    #include <iostream> using namespace std; , M = ; int n, m; int ne[N];//ne[i] : 以i为结尾的部分匹配的值 ch ...