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 相关文章推荐
jQuery中add实现同时选择两个id对象
Oct 22 Javascript
jquery 之 $().hover(func1, funct2)使用方法
Jun 14 Javascript
『jQuery』.html(),.text()和.val()的概述及使用
Apr 22 Javascript
jquery放大镜效果超漂亮噢
Nov 15 Javascript
JS实现跟随鼠标立体翻转图片的方法
May 04 Javascript
JavaScript截取、切割字符串的技巧
Jan 07 Javascript
简单的JS时钟实例讲解
Jan 13 Javascript
微信小程序 SocketIO 实例讲解
Oct 13 Javascript
javascript中mouseenter与mouseover的异同
Jun 06 Javascript
详解JS中的this、apply、call、bind(经典面试题)
Sep 19 Javascript
Vue单页面应用保证F5强刷不清空数据的解决方案
Jan 31 Javascript
Vue前端开发规范整理(推荐)
Apr 23 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
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
php学习笔记 数组的常用函数
2011/06/13 PHP
变量在 PHP7 内部的实现(二)
2015/12/21 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
jquery form表单提交插件asp.net后台中文解码
2010/06/12 Javascript
iframe 上下滚动条如何默认在下方实现原理
2012/12/10 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
node.js中的fs.truncate方法使用说明
2014/12/15 Javascript
window.onload使用指南
2015/09/13 Javascript
Bootstrap前端开发案例二
2016/06/17 Javascript
javascript事件的绑定基础实例讲解(34)
2017/02/14 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
2017/04/25 Javascript
html5+canvas实现支持触屏的签名插件教程
2017/05/08 Javascript
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
2020/07/17 Javascript
jQuery实现增删改查
2020/12/22 jQuery
[56:13]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第一场 1月10日
2021/03/11 DOTA
python基础教程项目二之画幅好画
2018/04/02 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
通过实例解析Python return运行原理
2020/03/04 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
Python安装第三方库攻略(pip和Anaconda)
2020/10/15 Python
python反扒机制的5种解决方法
2021/02/06 Python
Python3.9.1中使用match方法详解
2021/02/08 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
对CSS3选择器的研究(详解)
2016/09/16 HTML / CSS
BabyBjörn婴儿背带法国官网:BabyBjorn法国
2018/06/16 全球购物
教师实习的自我鉴定
2013/10/26 职场文书
葬礼司仪主持词
2014/03/31 职场文书
网络编辑求职信
2014/04/30 职场文书
2015年预备党员自我评价
2015/03/04 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
公诉意见书范文
2015/06/05 职场文书
2015毕业设计工作总结
2015/07/24 职场文书