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接收get传递的值的代码
Nov 30 Javascript
js 金额文本框实现代码
Feb 14 Javascript
jquery实现table鼠标经过变色代码
Sep 25 Javascript
javascript基于HTML5 canvas制作画箭头组件
Jun 25 Javascript
jQuery模拟黑客帝国矩阵效果实例
Jun 28 Javascript
js跨域请求数据的3种常用的方法
Dec 01 Javascript
jQuery解决$符号命名冲突
Jun 18 Javascript
基于angularJS的表单验证指令介绍
Oct 21 Javascript
详解Angular 开发环境搭建
Jun 22 Javascript
js隐式转换的知识实例讲解
Sep 28 Javascript
JS实现transform实现扇子效果
Jan 17 Javascript
JavaScript 实现轮播图特效的示例
Nov 05 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
php动态生成缩略图并输出显示的方法
2015/04/20 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
2016/09/30 PHP
php 数据结构之链表队列
2017/10/17 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
PHP中的异常处理机制深入讲解
2020/11/10 PHP
使用jscript实现二进制读写脚本代码
2008/06/09 Javascript
jquery 中多条件选择器,相对选择器,层次选择器的区别
2012/07/03 Javascript
javascript:void(0)是什么意思示例介绍
2013/11/17 Javascript
jquery实现右键菜单插件
2015/03/29 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
原生JS实现拖拽图片效果
2020/08/27 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
Node.js中的require.resolve方法使用简介
2017/04/23 Javascript
vue实现移动端图片裁剪上传功能
2020/08/18 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
Angular路由ui-router配置详解
2018/08/01 Javascript
webpack4简单入门实例
2018/09/06 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
2019/10/12 Javascript
基于python分析你的上网行为 看看你平时上网都在干嘛
2019/08/13 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
Python3.9新特性详解
2020/10/10 Python
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
STRATHBERRY苏贝瑞包包官网:西班牙高级工匠手工打造
2020/11/10 全球购物
语文教学随笔感言
2014/02/18 职场文书
年度考核自我鉴定
2014/03/19 职场文书
企业道德讲堂实施方案
2014/03/19 职场文书
幼儿园园长个人总结
2015/03/02 职场文书
酒店圣诞节活动总结
2015/05/06 职场文书
党支部鉴定意见
2015/06/02 职场文书
学习党史心得体会2016
2016/01/23 职场文书
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
java实现web实时消息推送的七种方案
2022/07/23 Java/Android