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 全等号运算符使用说明
May 31 Javascript
javascript 实现简单的table排序及table操作练习
Dec 28 Javascript
如何用jquery控制表格奇偶行及活动行颜色
Apr 20 Javascript
jquery删除指定子元素代码实例
Jan 13 Javascript
浅谈JS原型对象和原型链
Mar 02 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
Jun 02 Javascript
使用selenium抓取淘宝的商品信息实例
Feb 06 Javascript
利用原生的JavaScript实现简单拼图游戏
Nov 18 Javascript
jQuery Migrate 插件用法实例详解
May 22 jQuery
详解vue 自定义组件使用v-model 及探究其中原理
Oct 11 Javascript
react如何快速设置文件路径别名
Apr 28 Javascript
JavaScript ES6的函数拓展
Jan 18 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
是否存在第一台收音机的说法
2021/03/01 无线电
解析MySql与Java的时间类型
2013/06/22 PHP
PHP和Mysql中转UTF8编码问题汇总
2015/10/10 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
用JS实现3D球状标签云示例代码
2013/12/01 Javascript
Angularjs中使用Filters详解
2016/03/11 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
jQuery使用$获取对象后检查该对象是否存在的实现方法
2016/09/04 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
微信小程序实现多选功能
2018/11/04 Javascript
如何为vuex实现带参数的 getter和state.commit
2019/01/04 Javascript
JavaScript设计模式之代理模式实例分析
2019/01/16 Javascript
vue-router之解决addRoutes使用遇到的坑
2020/07/19 Javascript
Vue实现导航栏菜单
2020/08/19 Javascript
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
用Python编程实现语音控制电脑
2014/04/01 Python
python使用post提交数据到远程url的方法
2015/04/29 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
python 实现识别图片上的数字
2019/07/30 Python
Django获取应用下的所有models的例子
2019/08/30 Python
Python sqlalchemy时间戳及密码管理实现代码详解
2020/08/01 Python
HTML5图片预览实例分享
2014/06/04 HTML / CSS
Java中的基本数据类型所占存储空间大小固定的吗
2012/02/15 面试题
高中毕业生的个人自我评价
2014/02/21 职场文书
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
工人先锋号事迹材料
2014/12/24 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
网络妈妈观后感
2015/06/08 职场文书
导游词之吉林吉塔
2019/11/11 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书
导游词之沈阳清昭陵
2019/12/28 职场文书
Nginx工作模式及代理配置的使用细节
2022/03/21 Servers