概述
使用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和属性访问.运算符优先级相通,从左往右执行
以上皆为个人理解,如有错误之处,欢迎留言指正。
希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
最后
以上就是俊秀宝马为你收集整理的js中new一个对象的过程的全部内容,希望文章能够帮你解决js中new一个对象的过程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复