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 相关文章推荐
TextArea不支持maxlength的解决办法(jquery)
Sep 13 Javascript
常用js字符串判断方法整理
Oct 18 Javascript
js 立即调用的函数表达式如何写
Jan 12 Javascript
js获取页面description的方法
May 21 Javascript
使用JQuery实现智能表单验证功能
Mar 08 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
Apr 03 Javascript
原生JS实现图片轮播与淡入效果的简单实例
Aug 21 Javascript
JavaScrip数组删除特定元素的几种方法总结
Sep 06 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
Dec 09 Javascript
详解JavaScript的变量
Apr 04 Javascript
Vue toFixed保留两位小数的3种方式
Oct 23 Javascript
js之ajax文件上传
May 13 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安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
php防注入及开发安全详细解析
2013/08/09 PHP
laravel安装和配置教程
2014/10/29 PHP
php自定义urlencode,urldecode函数实例
2015/03/24 PHP
php验证码的制作思路和实现方法
2015/11/12 PHP
简单谈谈PHP中的Reload操作
2016/12/12 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
JS 控制CSS样式表
2009/08/20 Javascript
jquery移除button的inline onclick事件(已测试及兼容浏览器)
2013/01/25 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
推荐8款jQuery轻量级树形Tree插件
2014/11/12 Javascript
JavaScript简介
2015/02/15 Javascript
10个很棒的jQuery代码片段
2015/09/24 Javascript
json对象及数组键值的深度大小写转换问题详解
2018/03/30 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
在Windows8上的搭建Python和Django环境
2014/07/03 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
python实现集中式的病毒扫描功能详解
2019/07/09 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
英国领先的电视购物零售商:Ideal World
2019/03/18 全球购物
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
一岗双责责任书
2014/04/15 职场文书
网络优化专员求职信
2014/05/04 职场文书
社会发展项目建议书
2014/08/25 职场文书
2014年教师个人工作总结
2014/11/10 职场文书
个园导游词
2015/02/04 职场文书
2019军训心得体会
2019/06/27 职场文书
Python四款GUI图形界面库介绍
2022/06/05 Python