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 动态获取节点代码innerHTML分析 [IE,FF]
Nov 30 Javascript
JS实现标签页效果(配合css)
Apr 03 Javascript
javascript获取xml节点的最大值(实现代码)
Dec 11 Javascript
jquery easyui combox一些实用的小方法
Dec 25 Javascript
再谈Jquery Ajax方法传递到action(补充)
May 12 Javascript
jQuery实现Flash效果上下翻动的中英文导航菜单代码
Sep 22 Javascript
checkbox:click事件触发span元素内容改变的方法
Sep 11 Javascript
javascript实现循环广告条效果
Dec 12 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
Apr 17 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
May 18 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
Jul 03 Javascript
浅谈vuex的基本用法和mapaction传值问题
Nov 08 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 adodb操作mysql数据库
2009/03/19 PHP
《PHP编程最快明白》第三讲:php数组
2010/11/01 PHP
在php和MySql中计算时间差的方法
2011/04/22 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
php 实现301重定向跳转实例代码
2016/07/18 PHP
ExtJS 简介 让你知道extjs是什么
2008/12/29 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
JavaScript代码简单实现求杨辉三角给定行的最大值
2013/10/29 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
2016/11/28 Javascript
vue2.0开发实践总结之疑难篇
2016/12/07 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
2016/12/14 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
js的对象与函数详解
2019/01/21 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
详解使用React.memo()来优化函数组件的性能
2019/03/19 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
2020/04/15 Javascript
python对字典进行排序实例
2014/09/25 Python
python根据日期返回星期几的方法
2015/07/06 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
Centos部署django服务nginx+uwsgi的方法
2019/01/02 Python
详解python:time模块用法
2019/03/25 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
Django生成数据库及添加用户报错解决方案
2020/10/09 Python
几个Linux面试题笔试题
2012/12/01 面试题
委托书模板
2014/04/04 职场文书
预备党员转正考核材料
2014/06/03 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
2015年清明节网上祭英烈活动总结
2015/03/26 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书
冰雪公主观后感
2015/06/16 职场文书
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript
python turtle绘制多边形和跳跃和改变速度特效
2022/03/16 Python
Java 常见的限流算法详细分析并实现
2022/04/07 Java/Android