JS高级---构造函数,实例对象和原型对象,三者关系
构造函数,实例对象和原型对象,三者关系
构造函数里面有原型(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高级---构造函数,实例对象和原型对象,三者关系的更多相关文章
- js高级——构造函数,实例对象和原型对象——prototype、__proto__和constructor构造器
一.前言 了解JavaScript面向对象,需要先了解三个名词: 构造函数,实例对象和原型对象. 注意:JavaScript中没有类(class)的概念,取而代之的是构造函数,两者类似却又有很大的差别 ...
- JS高级---构造函数通过原型添加方法,原型的作用: 共享数据, 节省内存空间
JS高级---构造函数,通过原型添加方法,原型的作用: 共享数据, 节省内存空间 构造函数 //构造函数 function Person(sex, age) { this.sex = sex; thi ...
- 理解javascript 对象,原型对象、闭包
javascript作为一个面向对象的语言,理解 对象.原型.闭包.模块模式等技术点对于成为一名合格的javascript程序员相当重要,多年没写过blog,今天就先拋个玉,在下基本也不做前端,但颇感 ...
- JS核心系列:浅谈原型对象和原型链
在Javascript中,万物皆对象,但对象也有区别,大致可以分为两类,即:普通对象(Object)和函数对象(Function). 一般而言,通过new Function产生的对象是函数对象,其他对 ...
- 关于Javascript中通过实例对象修改原型对象属性值的问题
Javascript中的数据值有两大类:基本类型的数据值和引用类型的数据值. 基本类型的数据值有5种:null.undefined.number.boolean和string. 引用类型的数据值往大的 ...
- 对ES6中类class以及实例对象、原型对象、原型链之间关系的详细总结
1. 类 ES6 中新增加了类的概念,可以使用 class 关键字声明一个类,之后用这个类来实例化对象.即类的用途:实例化对象. // 创建一个Person类 class Person { } // ...
- jQuery的核心对象、原型对象、静态方法、动态方法
什么叫jQuery的核心对象? $ $===jQuery 什么叫jQuery的原型对象? $.fn $.fn===$.prototype 什么叫静态方法? 在构造函树上定义的方法,静态方法通过构造函数 ...
- js - 构造函数-静态属性/方法-原型对象 - 前端第八课
先来个普通对象 var duixiang={ a:"111", b:function (s) { return s+"886"; } }; console.lo ...
- js学习(四)- prototype原型对象
前言: 下面两行代码都是创建一个数组对象myArray:var myArray=[];//等价于var myArray=new Array();同样,下面的两段代码也都是创建一个函数myFunctio ...
随机推荐
- Jupyter Notebook快捷键总结
1. Jupyter Notebook有两种mode Enter:进入edit模式 Esc:进入command模式 2. Command命令快捷键: A:在上方增加一个cell B:在下方增加一个ce ...
- rest_framework:响应器(渲染器)
一.作用: 根据用户的请求url或者用户可接受的类型.筛选出合适的渲染组件 用户请求url: http://127.0.0.1:8000/test/?format=json http://127.0. ...
- url跳转问题
window.history.replaceState(null, null, "/callPlanning/1") //替换路径不刷新页面 window.location.rep ...
- yii2验证规则
验证规则 1.内置验证规则 [['sex', 'partner_id'], 'integer'], [['partner_id', 'camp_id',], 'required'], [['creat ...
- energy/heating data source
HeatManDataLake 1. schema: hfors tables ambient_temperature_emd record the ambient temperature hourl ...
- Laravel-admin 刷新页面后,左侧菜单栏怎么默认选中当前栏目
修改public\vendor\laravel-admin\laravel-admin里面的laravel-admin.js $(window).on('load',function(){ $('.s ...
- JAVA 注解教程(四)Java 预置的注解
@Deprecated 这个元素是用来标记过时的元素,想必大家在日常开发中经常碰到.编译器在编译阶段遇到这个注解时会发出提醒警告,告诉开发者正在调用一个过时的元素比如过时的方法.过时的类.过时的成员变 ...
- python itertool 浅谈迭代工具
1.概述 Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数. 首先,我们看看itertools提供的几个“无限”迭代器: import itertools natuals ...
- vue mvvm原理与简单实现 -- 上篇
Object.defineProperty介绍-- let obj = {}; Object.defineProperty(obj,'school',{ configurable : true, // ...
- tensorflow学习笔记——GoogLeNet
GoogLeNet是谷歌(Google)研究出来的深度网络结构,为什么不叫“GoogleNet”,而叫“GoogLeNet”,据说是为了向“LeNet”致敬,因此取名为“GoogLeNet”,所以我们 ...