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 相关文章推荐
[原创]网络复制内容时常用的正则+editplus
Nov 30 Javascript
返回对象在当前级别中是第几个元素的实现代码
Jan 20 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
Apr 11 Javascript
angularjs2中父子组件的数据传递的实例代码
Jul 05 Javascript
基于Node.js模板引擎教程-jade速学与实战1
Sep 17 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
Dec 26 Javascript
vue-cli2 构建速度优化的实现方法
Jan 08 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
Mar 30 Javascript
layui实现显示数据表格、搜索和修改功能示例
Jun 03 Javascript
JavaScript ES 模块的使用
Nov 12 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
Dec 26 Vue.js
vue 动态创建组件的两种方法
Dec 31 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(视频)Http下载
2006/12/12 PHP
Thinkphp实现站点静态化的方法详解
2017/03/21 PHP
javascript不同页面传值的改进版
2008/09/30 Javascript
Extjs学习笔记之三 extjs form更多的表单项
2010/01/07 Javascript
JS中引用百度地图并将百度地图的logo和信息去掉
2013/09/29 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
js 去除字符串第一位逗号的方法
2014/06/07 Javascript
javascript 面向对象封装与继承
2014/11/27 Javascript
jQuery获取复选框选中的当前行的某个字段的值
2017/09/15 jQuery
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
纯JS实现可用于页码更换的飞页特效示例
2018/05/21 Javascript
angularJS开发注意事项
2018/05/26 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
2019/04/12 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
使用layer模态框给新页面传值的方法
2019/09/27 Javascript
Python 变量类型及命名规则介绍
2013/06/08 Python
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
Python中datetime常用时间处理方法
2015/06/15 Python
Python通过DOM和SAX方式解析XML的应用实例分享
2015/11/16 Python
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
Python 实现黑客帝国中的字符雨的示例代码
2020/02/20 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
CSS3区域模块region相关编写示例
2015/08/28 HTML / CSS
德国化妆品和天然化妆品网上商店:kosmetikfuchs.de
2017/06/09 全球购物
爱尔兰电子产品购物网站:Komplett.ie
2018/04/04 全球购物
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
初中生自我评价
2014/02/01 职场文书
公司会议策划方案
2014/05/17 职场文书
公证委托书
2014/08/01 职场文书
自查自纠工作情况报告
2014/10/29 职场文书
《金色的草地》教学反思
2016/02/17 职场文书
redis使用不当导致应用卡死bug的过程解析
2021/07/01 Redis
Spring Boot mybatis-config 和 log4j 输出sql 日志的方式
2021/07/26 Java/Android