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类定义语法,私有成员、受保护成员、静态成员等介绍
Dec 08 Javascript
JavaScript中判断整字类型最简洁的实现方法
Nov 08 Javascript
jQuery中empty()方法用法实例
Jan 16 Javascript
举例详解AngularJS中ngShow和ngHide的使用方法
Jun 19 Javascript
浅析JS动态创建元素【两种方法】
Apr 20 Javascript
JS加载器如何动态加载外部js文件
May 26 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
Oct 01 Javascript
Bootstrap3 图片(响应式图片&图片形状)
Jan 04 Javascript
Angular模板表单校验方法详解
Aug 11 Javascript
Vue.js图片预览插件使用详解
Aug 27 Javascript
create-react-app安装出错问题解决方法
Sep 04 Javascript
小程序实现录音上传功能
Nov 22 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
模拟xcopy的函数
2006/10/09 PHP
CI框架常用方法小结
2016/05/17 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
PHP实现webshell扫描文件木马的方法
2017/07/31 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
js 将json字符串转换为json对象的方法解析
2013/11/13 Javascript
js获得参数的getParameter使用示例
2014/02/26 Javascript
js实现全国省份城市级联下拉菜单效果代码
2015/09/07 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
2016/12/28 Javascript
JavaScript实现的select点菜功能示例
2017/01/16 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
React/Redux应用使用Async/Await的方法
2017/11/16 Javascript
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
js实现时钟定时器
2020/03/26 Javascript
Vue+Vant 图片上传加显示的案例
2020/11/03 Javascript
python通过floor函数舍弃小数位的方法
2015/03/17 Python
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
中东最大的在线宠物店:Dubai Pet Food
2020/06/11 全球购物
秘书专业自荐信范文
2013/12/26 职场文书
技校毕业生的自我评价
2013/12/27 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
关于梦想的演讲稿
2014/05/05 职场文书
安全生产知识竞赛活动总结
2014/07/07 职场文书
中学生综合素质自我评价
2015/03/06 职场文书
幼师自荐信范文
2015/03/06 职场文书
建国大业观后感800字
2015/06/01 职场文书
运动会主持人开幕词
2016/03/04 职场文书
python 实现体质指数BMI计算
2021/05/26 Python
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript