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 相关文章推荐
JavaScript 匿名函数(anonymous function)与闭包(closure)
Oct 04 Javascript
ASP.NET中AJAX 调用实例代码
May 03 Javascript
原生JS实现表单checkbook获取已选择的值
Jul 21 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
Sep 26 Javascript
js加载读取内容及显示与隐藏div示例
Feb 13 Javascript
jQuery实现隔行背景色变色
Nov 24 Javascript
JavaScript通过select动态更换图片的方法
Mar 23 Javascript
JSON与js对象序列化实例详解
Mar 16 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
Mar 27 jQuery
angular.js实现列表orderby排序的方法
Oct 02 Javascript
vue 实现通过vuex 存储值 在不同界面使用
Nov 11 Javascript
用vue设计一个日历表
Dec 03 Vue.js
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 异步执行方法,模拟多线程的应用分析
2013/06/03 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
PHP实现简单搜歌的方法
2015/07/28 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
2016/05/04 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
javascript模拟实现C# String.format函数功能代码
2013/11/25 Javascript
js几秒以后倒计时跳转示例
2013/12/26 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
JavaScript实现在数组中查找不同顺序排列的字符串
2014/09/26 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
javascript实现复选框全选或反选
2017/02/04 Javascript
NodeJS配置HTTPS服务实例分享
2017/02/19 NodeJs
jQuery实现轮播图效果
2019/11/26 jQuery
vue随机验证码组件的封装实现
2020/02/19 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
基于scrapy实现的简单蜘蛛采集程序
2015/04/17 Python
Python中的匿名函数使用简介
2015/04/27 Python
简单了解Django模板的使用
2017/12/20 Python
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
对python中xlsx,csv以及json文件的相互转化方法详解
2018/12/25 Python
python实现全盘扫描搜索功能的方法
2019/02/14 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
Python基于time模块表示时间常用方法
2020/06/18 Python
垃圾回收的优点和原理。并考虑2种回收机制
2016/10/16 面试题
一套.net面试题及答案
2016/11/02 面试题
高校生生产实习自我鉴定
2013/09/21 职场文书
项目建议书模板
2014/05/12 职场文书
教师竞聘演讲稿
2014/05/16 职场文书
2014年教师政治学习材料
2014/06/02 职场文书
委托书怎么写
2014/07/31 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
六五普法宣传标语
2014/10/06 职场文书
预备党员考察表党小组意见
2015/06/01 职场文书