js中new一个对象的过程


Posted in Javascript onFebruary 20, 2017

使用new关键字调用函数(new ClassA(…))的具体步骤:

1. 创建空对象{}

2. 使用新对象,调用函数,函数中的this被指向新实例对象:

         {}.构造函数();         

3. 设置新对象的constructor属性为构造函数的名称,设置新对象的__proto__属性指向构造函数的prototype对象

4. 将初始化完毕的新对象地址,保存到等号左边的变量中

注意:若构造函数中没有返回值或返回值是基本类型(Number、String、Boolean)的值,则返回新实例对象;若返回值是引用类型的值,则实际返回值为这个引用类型。

var foo = "bar";
function test () {
 this.foo = "foo";
}
new test();  


//test中的this指新对象,并未改变全局的foo属性
console.log(this.foo);  // "bar"
console.log(new testThis().foo); // "foo";new和属性访问.运算符优先级相通,从左往右执行

以上皆为个人理解,如有错误之处,欢迎留言指正。

希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
Apr 20 Javascript
初试jQuery EasyUI 使用介绍
Apr 01 Javascript
JQuery select标签操作代码段
May 16 Javascript
js 静态动态成员 and 信息的封装和隐藏
May 29 Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
Oct 11 Javascript
Javascript图像处理思路及实现代码
Dec 25 Javascript
如何用JavaScript动态呼叫函数(两种方式)
May 03 Javascript
js 对小数加法精度处理示例说明
Dec 27 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
Sep 07 jQuery
javascript实现简易聊天室
Jul 12 Javascript
layer.open组件获取弹出层页面变量、函数的实例
Sep 25 Javascript
javascript实现倒计时关闭广告
Feb 09 Javascript
利用node.js搭建简单web服务器的方法教程
Feb 20 #Javascript
jQuery实现鼠标跟随效果
Feb 20 #Javascript
BootStrap fileinput.js文件上传组件实例代码
Feb 20 #Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
Feb 20 #Javascript
分享一道关于闭包、bind和this的面试题
Feb 20 #Javascript
原生JS实现跑马灯效果
Feb 20 #Javascript
js 实现省市区三级联动菜单效果
Feb 20 #Javascript
You might like
同时提取多条新闻中的文本一例
2006/10/09 PHP
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
php验证码生成代码
2015/11/11 PHP
HTA版JSMin(省略修饰语若干)基于javascript语言编写
2009/12/24 Javascript
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
javascript相等运算符与等同运算符详细介绍
2013/11/09 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
vue移动端实现红包雨效果
2020/06/23 Javascript
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
Vue Router中应用中间件的方法
2020/08/06 Javascript
Vue js with语句原理及用法解析
2020/09/03 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
[37:45]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS Orenda
2014/05/22 DOTA
Python3安装Pymongo详细步骤
2017/05/26 Python
使用django-crontab实现定时任务的示例
2018/02/26 Python
pandas ix &iloc &loc的区别
2019/01/10 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
2020/01/03 Python
python代码xml转txt实例
2020/03/10 Python
python和c语言哪个更适合初学者
2020/06/22 Python
Python非单向递归函数如何返回全部结果
2020/12/18 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
用HTML5制作视频拼图的教程
2015/05/13 HTML / CSS
SISLEY希思黎官方旗舰店:享誉全球的奢华植物美容品牌
2018/04/25 全球购物
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
自我鉴定怎么写
2014/01/12 职场文书
领导干部考察材料
2014/02/08 职场文书
2014年创卫实施方案
2014/02/18 职场文书
2015年教师教学工作总结
2015/04/28 职场文书
在JavaScript中如何使用宏详解
2021/05/06 Javascript