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随机排序(随即出牌)
Sep 17 Javascript
JavaScript 注册事件代码
Jan 27 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
Jul 26 Javascript
微信企业号开发之微信考勤Cookies的使用
Sep 11 Javascript
Javascript中的几种继承方式对比分析
Mar 22 Javascript
js+html5实现canvas绘制椭圆形图案的方法
May 21 Javascript
js 声明数组和向数组中添加对象变量的简单实例
Jul 28 Javascript
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
Nov 24 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
Jan 17 Javascript
js中document.referrer实现移动端返回上一页
Feb 22 Javascript
开发用到的js封装方法(20种)
Oct 12 Javascript
详解Angular模板引用变量及其作用域
Nov 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
Mysql中分页查询的两个解决方法比较
2013/05/02 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
JS图像无缝滚动脚本非常好用
2014/02/10 Javascript
Nodejs sublime text 3安装与配置
2014/06/19 NodeJs
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
JS编写兼容IE6,7,8浏览器无缝自动轮播
2018/10/12 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
微信小程序官方动态自定义底部tabBar的例子
2019/09/04 Javascript
浅谈vant组件Picker 选择器选单选问题
2020/11/04 Javascript
使用Python程序抓取新浪在国内的所有IP的教程
2015/05/04 Python
Python实现对字符串的加密解密方法示例
2017/04/29 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
Jupyter中直接显示Matplotlib的图形方法
2018/05/24 Python
python绘制圆柱体的方法
2018/07/02 Python
python tornado微信开发入门代码
2018/08/24 Python
python 列表递归求和、计数、求最大元素的实例
2018/11/28 Python
windows下 兼容Python2和Python3的解决方法
2018/12/05 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
python-web根据元素属性进行定位的方法
2019/12/13 Python
Django返回HTML文件的实现方法
2020/09/17 Python
汤米巴哈马官方网站:Tommy Bahama
2017/05/13 全球购物
教研活动总结
2014/04/28 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
八年级历史教学反思
2016/02/19 职场文书
祝福语集锦:送给毕业同学祝福语
2019/11/21 职场文书
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL