构造函数,实例,原型,以及原型链
1,创建对象的方式:
(1)字面量:例如var o1={name:'o1'};
(2)用构造函数创建对象: var M=function( ){ this.name='o1'} var o2=new M( );
(3) object .create :var p={ name:'o3'}; var o3=Object.create(p);
1.构造函数的定义:
不同于其它的主流编程语言,JavaScript的构造函数并不是作为类的一个特定方法存在的;当任意一个普通函数用于创建一类对象时,它就被称作构造函数,或构造器。一个函数要作为一个真正意义上的构造函数,需要满足下列条件:
( 1) 、 在函数内部对新对象(this)的属性进行设置,通常是添加属性和方法。
(2)、 构造函数可以包含返回语句(不推荐),但返回值必须是this,或者其它非对象类型的值。
2.构造函数的意义:
用字面量创建对象,每创建一个新的对象都需要写出完整的定义语句,不便于创建大量相同类型的对象,不利于使用继承等高级特性。
new表达式是配合构造函数使用的,例如new String(“a string”),调用内置的String函数构造了一个字符串对象。下面我们用构造函数的方式来重新创建一个实现同样功能的对象,首先是定义构造函数,然后是调用new表达式;
3.在使用new操作符来调用一个构造函数的时候,发生了什么呢?
- 新生成了一个对象
- 链接到原型
- 绑定 this
- 返回新对象
4.原型:
prototype
每创建一个对象都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象(这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法)prototype就是通过调用构造函数而创建的那个对象实例的原型对象。使用构造函数的好处就是:可以让所有对象实例共享它所包含的属性和方法。
4.原型链:基本思想就是利用原型让一个引用类型继承另一个引用类型的属性和方法
5.原型的规则:
转载于:https://www.cnblogs.com/mengshi-web/p/9778346.html
构造函数,实例,原型,以及原型链相关推荐
- JavaScript的原型与原型链理解
简单描述了原型与原型链的理解,欢迎学习讨论. 构造函数 function A(){} 原型 构造函数都有prototype原型属性 A.prototype.name = 'wjx' 原型的 const ...
- 原型 / 构造函数 / 实例/原型链
原型 / 构造函数 / 实例/原型链 原型( prototype ): ⼀个简单的对象,⽤于实现对象的 属性继承.可以简单的理解成对象 的爹.在 Firefox 和 Chrome 中,每个 JavaS ...
- js_高级_对象、面向对象、构造函数、实例对象、原型、原型链
1.什么是对象 汽车不是对象是是一类事物,一辆汽车是对象. 2.什么是面向对象 3.面向对象的特点 案例来理解 面向过程 和 面向对象---打印出学生的成绩表 面向过程:如何做这件事情 ,把事情拆成 ...
- 详解面向对象、构造函数、原型与原型链
详解面向对象.构造函数.原型与原型链 为了帮助大家能够更加直观的学习和了解面向对象,我会用尽量简单易懂的描述来展示面向对象的相关知识.并且也准备了一些实用的例子帮助大家更加快速的掌握面向对象的真谛. ...
- 构造函数的原型和原型链
转载 https://blog.csdn.net/weixin_44976833/article/details/101322081 构造函数和原型和原型链 1.静态成员和实例成员 1.1静态成员 静 ...
- ES6/02/创建对象,构造函数和原型,原型和原型链,this指向,类,ES5新增的方法,数组方法,回调函数,ES5新增的字符串方法,ES5中新增的对象方法
创建对象 1,利用new Object()创建对象 var obj1 =new Object(); 2,利用对象字面量创建对象 var obj2={}; 3,利用构造函数创建对象 function S ...
- 面向对象2(构造函数、实例对象、原型对象——关系理解)
参考解释: 对象原型 构造函数与实例对象 构造函数与实例对象 关系: 实例对象是通过构造函数来创建的,创建的过程叫实例化. 示例代码: //1.自定义构造函数 function Person(name ...
- 【进阶5-1期】重新认识构造函数、原型和原型链
引言 前端进阶系列已经到第 5 期啦,本期正式开始原型 Prototype 系列. 本篇文章重点介绍构造函数.原型和原型链相关知识,如果你还不知道 Symbol 是不是构造函数.constructor ...
- JavaScript进阶-编程思想、构造函数的原型对象、对象原型、原型继承以及原型链
编程思想 面向过程 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次 调用就可以了. 优点: 性能比面向对象高,适合跟硬件联系很紧密 的东西,例如单 ...
- 粗解构造函数,原型,原型链,显式原型,隐式原型
构造函数 引入:使用工厂函数来创造对象时,使用var obj =new Object(),创建后都是object,无法区分 创建一个构造函数,专门用来创建特定类型的对象,例如人的对象,动物的对象.构造 ...
最新文章
- SQLAlchemy简介与入门
- DSP平台实现图像识别算法总体来说不如嵌入式?
- 上海哪个图书馆营业时间最长
- Java RandomAccessFile getFilePointer()方法与示例
- Java SimpleTimeZone setStartRule()方法与示例
- C语言char对应的码,char码值对应列表大全
- java在线支付---13.java在线支付所有源码:
- 一根柱状图表示两种数据_柱状图不好看,那就换个坐标轴
- 【模板】ISAP最大流
- Java的jdk1.6与jre1.8中存在的差异
- 操作手册模板_挂蓝悬臂浇筑箱梁施工技术操作手册
- 复制移动VMware Workstation虚拟机文件产生的问题【转】
- 第三方服务--短信接口
- 程序员薪资:2022年腾讯校招薪资接近40W?我惊呆了
- 自动识别快递公司,教你快递查询单号查询物流
- 深度学习进行人体的姿态估计
- 简单理解下用户体验五要素
- SIM7600CE-CNSE 4G模组发送英文短信
- selenium登录163邮箱,得到cookie,requests后续请求
- 虚拟机配置文件vmx放置路径问题
热门文章
- 从架构演进的角度聊聊Spring Cloud都做了些什么?
- java.util.concurrent.locks.Condition 例子程序探讨
- Request: Headless HTML rendering engine
- python3-基础6
- Linux下Chrome/Chromium窗口边框有白线
- 转载自搜狐科技【技术那些事儿】LTE网络中的用户数据库HSS与传统2G/3G的HLR有何区别?能否融合组网?...
- Hibernate关联关系映射
- Goolg Chrome 插件开发--Hello world
- 在ComboBox控件中使用嵌入字体。
- C++虚继承内存布局===写得很牛!推荐