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之大字符串的连接的StringBuffer 类
May 08 Javascript
JqGrid web打印实现代码
May 31 Javascript
JQuery实现简单验证码提示解决方案
Dec 20 Javascript
javascript将数组插入到另一个数组中的代码
Jan 10 Javascript
node.js中的fs.unlink方法使用说明
Dec 15 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
Jan 09 Javascript
JQuery中Text方法用法实例分析
May 18 Javascript
javascript实现的简单计时器
Jul 19 Javascript
js+html5实现的自由落体运动效果代码
Jan 28 Javascript
jQuery实现的背景颜色渐变动画效果示例
Mar 24 jQuery
在iFrame子页面里实现模态框的方法
Aug 17 Javascript
原生js滑动轮播封装
Jul 31 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 存取 MySQL 数据库的一个例子
2006/10/09 PHP
PHP运行时强制显示出错信息的代码
2011/04/20 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
2017/01/16 PHP
PHP _construct()函数讲解
2019/02/03 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
javascript引导程序
2008/10/26 Javascript
一个简单的网站访问JS计数器 刷新1次加1次访问
2012/09/20 Javascript
jQuery点击弹出下拉菜单的小例子
2013/08/01 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
JavaScript中实现最高效的数组乱序方法
2014/10/11 Javascript
JQuery表单验证插件EasyValidator用法分析
2014/11/15 Javascript
JavaScript获取网页表单action属性的方法
2015/04/02 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
AngularJS过滤器filter用法分析
2016/12/11 Javascript
原生Javascript插件开发实践
2017/01/18 Javascript
微信小程序 详解页面跳转与返回并回传数据
2017/02/13 Javascript
Vue实现微信支付功能遇到的坑
2019/06/05 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
Python使用post及get方式提交数据的实例
2019/01/24 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
2020/03/09 Python
django 取消csrf限制的实例
2020/03/13 Python
python使用梯度下降算法实现一个多线性回归
2020/03/24 Python
tensorflow与numpy的版本兼容性问题的解决
2021/01/08 Python
教师岗位聘任书范文
2014/03/29 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
党员公开承诺书2016
2016/03/24 职场文书