js中new一个对象的过程
使用new关键字调用函数(newClassA(…))的具体步骤:
1.创建空对象{}
2.使用新对象,调用函数,函数中的this被指向新实例对象:
{}.构造函数();
3.设置新对象的constructor属性为构造函数的名称,设置新对象的__proto__属性指向构造函数的prototype对象
4.将初始化完毕的新对象地址,保存到等号左边的变量中
注意:若构造函数中没有返回值或返回值是基本类型(Number、String、Boolean)的值,则返回新实例对象;若返回值是引用类型的值,则实际返回值为这个引用类型。
varfoo="bar"; functiontest(){ this.foo="foo"; } newtest();//test中的this指新对象,并未改变全局的foo属性 console.log(this.foo);//"bar" console.log(newtestThis().foo);//"foo";new和属性访问.运算符优先级相通,从左往右执行
以上皆为个人理解,如有错误之处,欢迎留言指正。
希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!