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 相关文章推荐
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
Feb 03 Javascript
Jquery.addClass始终无效原因分析
Sep 08 Javascript
jquery判断密码强度的验证代码
Apr 22 Javascript
js确认框confirm()用法实例详解
Jan 07 Javascript
需要牢记的JavaScript基础知识
Sep 25 Javascript
深入理解Node.js的HTTP模块
Oct 12 Javascript
js实现复选框的全选和取消全选效果
Jan 03 Javascript
微信小程序form表单组件示例代码
Jul 15 Javascript
Angular路由ui-router配置详解
Aug 01 Javascript
Vue基本使用之对象提供的属性功能
Apr 30 Javascript
解决layui-open关闭自身窗口的问题
Sep 10 Javascript
jQuery实现简单弹幕效果
Nov 28 jQuery
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异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
PHP生成随机密码类分享
2014/06/25 PHP
php中关于socket的系列函数总结
2015/05/18 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
IE中JS跳转丢失referrer问题的2个解决方法
2014/07/18 Javascript
JavaScript实现的一个倒计时的类
2015/03/12 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
Vue filters过滤器的使用方法
2017/07/14 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
2017/08/16 Javascript
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
微信小程序 scroll-view实现锚点滑动的示例
2017/12/06 Javascript
浅谈ajax在jquery中的请求和servlet中的响应
2018/01/22 jQuery
解决使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js问题
2018/08/30 Javascript
javascript闭包的使用之按钮切换功能
2018/08/30 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
2018/10/14 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
Vue请求java服务端并返回数据代码实例
2019/11/28 Javascript
vue vant Area组件使用详解
2019/12/09 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
JavaScript异步操作的几种常见处理方法实例总结
2020/05/11 Javascript
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
从Python程序中访问Java类的简单示例
2015/04/20 Python
Python 内置函数complex详解
2016/10/23 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
浅谈Python接口对json串的处理方法
2018/12/19 Python
python爬虫神器Pyppeteer入门及使用
2019/07/13 Python
基于IE10/HTML5 开发
2013/04/22 HTML / CSS
小学英语教学反思
2014/01/30 职场文书
卫生标语大全
2014/06/21 职场文书
教师民族团结演讲稿
2014/08/27 职场文书
大学生考试作弊检讨书1000字
2014/10/14 职场文书
2014年班组建设工作总结
2014/12/01 职场文书
叶问观后感
2015/06/15 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
Nginx虚拟主机的搭建的实现步骤
2022/01/18 Servers