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 相关文章推荐
JQuery Dialog的内存泄露问题解决方法
Jun 18 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
Mar 29 Javascript
js选项卡的实现方法
Feb 09 Javascript
JavaScript检测并限制复选框选中个数的方法
Aug 12 Javascript
jQuery实现平滑滚动的标签分栏切换效果
Aug 28 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
May 20 Javascript
jQuery EasyUI菜单与按钮详解
Jul 13 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
Oct 28 Javascript
ES6新特性四:变量的解构赋值实例
Apr 21 Javascript
浅谈ES6新增的数组方法和对象
Aug 08 Javascript
Angular 向组件传递模板的两种方法
Feb 23 Javascript
JS实现的透明度渐变动画效果示例
Apr 28 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
example1.php
2006/10/09 PHP
php与XML、XSLT、Mysql的结合运用实现代码
2009/11/19 PHP
php function用法如何递归及return和echo区别
2014/03/07 PHP
ThinkPHP基本的增删查改操作实例教程
2014/08/22 PHP
smarty中js的调用方法示例
2014/10/27 PHP
php blowfish加密解密算法
2016/07/02 PHP
PHP设计模式之注册树模式分析
2018/01/26 PHP
jQuery提示效果代码分享
2014/11/20 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
JQuery操作textarea,input,select,checkbox方法
2015/09/02 Javascript
AngularJS ng-repeat指令中使用track by子语句解决重复数据遍历错误问题
2017/01/21 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
Vuex的基本概念、项目搭建以及入坑点
2018/11/04 Javascript
js图片无缝滚动插件使用详解
2020/05/26 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
python 实现插入排序算法
2012/06/05 Python
Python函数中*args和**kwargs来传递变长参数的用法
2016/01/26 Python
python实现多人聊天室
2020/03/31 Python
TensorFlow2.0矩阵与向量的加减乘实例
2020/02/07 Python
html5教程制作简单画板代码分享
2013/12/04 HTML / CSS
Boden美国官网:英伦原创时装品牌
2017/07/03 全球购物
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
eBay荷兰购物网站:eBay.nl
2020/06/26 全球购物
法学专业毕业生自荐信
2014/06/11 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
2015年维修工作总结
2015/04/25 职场文书
舞蹈社团活动总结
2015/05/07 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
创业计划书之外语培训班
2019/11/02 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书
Vue的过滤器你真了解吗
2022/02/24 Vue.js
蓝牙耳机怎么连接电脑win11? Win11蓝牙耳机连接电脑的技巧
2023/01/09 数码科技