JavaScript new对象的四个过程实例浅析


Posted in Javascript onJuly 31, 2018

本文实例讲述了JavaScript new对象的四个过程。分享给大家供大家参考,具体如下:

new对象:

function Person(name, age) {
  this.name = name;
  this.age = age;
}
var person = new Person("Alice", 23);

new一个对象的四个过程:

1、创建一个空对象

var obj = new Object();

2、让Person中的this指向obj,并执行Person的函数体

var result = Person.call(obj);

3、设置原型链,将obj的__proto__成员指向了Person函数对象的prototype成员对象

obj.__proto__ = Person.prototype;

4、判断Person的返回值类型,如果是值类型,返回obj。如果是引用类型,就返回这个引用类型的对象。

if (typeof(result) == "object")
  person = result;
else
  person = obj;

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
通过身份证号得到出生日期和性别的js代码
Nov 23 Javascript
THREE.JS入门教程(2)着色器-上
Jan 24 Javascript
jQuery控制Div拖拽效果完整实例分析
Apr 15 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
May 18 Javascript
浅谈bootstrap源码分析之tab(选项卡)
Jun 06 Javascript
AngularJS  $on、$emit和$broadcast的使用
Sep 05 Javascript
js简单实现网页换肤功能
Apr 07 Javascript
AngularJS基于provider实现全局变量的读取和赋值方法
Jun 28 Javascript
JavaScript闭包的简单应用
Sep 01 Javascript
微信小程序在其他页面监听globalData中值的变化
Jul 15 Javascript
layer弹出层自适应高度,垂直水平居中的实现
Sep 16 Javascript
在vue中根据光标的显示与消失实现下拉列表
Sep 29 Javascript
Vue 路由 过渡动效 数据获取方法
Jul 31 #Javascript
JS实现判断图片是否加载完成的方法分析
Jul 31 #Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
Jul 31 #Javascript
vue实现word,pdf文件的导出功能
Jul 31 #Javascript
在create-react-app中使用css modules的示例代码
Jul 31 #Javascript
详解使用create-react-app添加css modules、sasss和antd
Jul 31 #Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
Jul 31 #jQuery
You might like
PHP生成静态页
2006/11/25 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
PHP环境搭建的详细步骤
2016/06/30 PHP
javascript firefox不显示本地预览图片问题的解决方法
2008/11/12 Javascript
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
js简单抽奖代码
2015/01/16 Javascript
使用jQueryMobile实现滑动翻页效果的方法
2015/02/04 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
2015/02/23 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
JavaScript中的对象继承关系
2016/08/01 Javascript
详解javascript中对数据格式化的思考
2017/01/23 Javascript
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
微信小程序 网络通信实现详解
2019/07/23 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
跟老齐学Python之玩转字符串(2)更新篇
2014/09/28 Python
python写入xml文件的方法
2015/05/08 Python
遗传算法python版
2018/03/19 Python
Django ORM 查询管理器源码解析
2019/08/05 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
Pytorch 神经网络—自定义数据集上实现教程
2020/01/07 Python
Python3变量与基本数据类型用法实例分析
2020/02/14 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
如何使用python socket模块实现简单的文件下载
2020/09/04 Python
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
日本整理专家Marie Kondo的官方在线商店:KonMari
2020/06/29 全球购物
中间件的定义
2016/08/09 面试题
通信工程专业毕业生推荐信
2013/12/25 职场文书
工作时间上网检讨书
2014/02/03 职场文书
签约仪式主持词
2014/03/19 职场文书
中小学生安全教育观后感
2015/06/17 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书
Mysql基础知识点汇总
2021/05/26 MySQL