0
点赞
收藏
分享

微信扫一扫

11.js的new操作符做了哪些事情?

王栩的文字 2022-02-09 阅读 72

new 一个构造函数的执行流程
new 在执行时,会做下面这四件事:

(1)开辟内存空间,在内存中创建一个新的空对象。

(2)让 this 指向这个新的对象。

(3)执行构造函数里面的代码,给这个新对象添加属性和方法。

(4)返回这个新对象(所以构造函数里面不需要 return)。
因为 this 指的是 new 一个 Object 之后的对象实例。于是,下面这段代码:

// 创建一个函数
function createStudent(name) {
    var student = new Object();
    student.name = name; //第一个name指的是student对象定义的变量。第二个name指的是createStudent函数的参数。二者不一样
}

可以改进为:

// 创建一个函数
function Student(name) {
    this.name = name; //this指的是构造函数中的对象实例
}
举报

相关推荐

0 条评论