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操纵窗口的方法小结
Jun 28 Javascript
关于js数组去重的问题小结
Jan 24 Javascript
javascript常用函数归纳整理
Oct 31 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
Oct 14 Javascript
Bootstrap每天必学之简单入门
Nov 19 Javascript
jQuery实现简单隔行变色的方法
Feb 20 Javascript
初步使用Node连接Mysql数据库
Mar 03 Javascript
Node.js的环境安装配置(使用nvm方式)
Oct 11 Javascript
bootstrap-Treeview实现级联勾选
Nov 23 Javascript
基于angular6.0实现的一个组件懒加载功能示例
Apr 12 Javascript
Vue.js组件高级特性实例详解
Dec 24 Javascript
javascript实现固定侧边栏
Feb 09 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 论坛采集程序 模拟登陆,抓取页面 实现代码
2009/07/09 PHP
php 操作符与控制结构
2012/03/07 PHP
ThinkPHP中自定义错误页面和提示页面实例
2014/11/22 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
最新版本PHP 7 vs HHVM 多角度比较
2016/02/14 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
PHP 图片合成、仿微信群头像的方法示例
2019/10/25 PHP
javascript使用eval或者new Function进行语法检查
2010/10/16 Javascript
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
详细谈谈AngularJS的子级作用域问题
2016/09/05 Javascript
Javascript 判断两个IP是否在同一网段实例代码
2016/11/28 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
Vue props用法详解(小结)
2018/07/03 Javascript
使用validate.js实现表单数据提交前的验证方法
2018/09/04 Javascript
vue发送websocket请求和http post请求的实例代码
2019/07/11 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
vue点击当前路由高亮小案例
2019/09/26 Javascript
关于JSON解析的实现过程解析
2019/10/08 Javascript
微信小程序服务器日期格式化问题
2020/01/07 Javascript
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
详解Django缓存处理中Vary头部的使用
2015/07/24 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
详解Python是如何实现issubclass的
2019/07/24 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
2020/01/19 Python
Jupyter Notebook的连接密码 token查询方式
2020/04/21 Python
HTML5打开手机扫码功能及优缺点
2017/11/27 HTML / CSS
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
幼儿园中班教学反思
2014/02/10 职场文书
房产公证委托书范本
2014/09/20 职场文书
2014年手术室工作总结
2014/11/26 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
浅谈Python中的函数(def)及参数传递操作
2021/05/25 Python
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏