js中new一个对象的过程

2019-11-22,,,,

使用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 Option()实现时间联动效果
  • JS中‘hello’与new String(‘hello’)引出的问题详解
  • 原生JS封装_new函数实现new关键字的功能
  • JavaScript new对象的四个过程实例浅析
  • 详解Javascript中new()到底做了些什么?
  • javascript中new Array()和var arr=[]用法区别
  • 用Newtonsoft将json串转为对象的方法(详解)
  • JavaScript中new运算符的实现过程解析

《js中new一个对象的过程.doc》

下载本文的Word格式文档,以方便收藏与打印。