让我们深入探讨JavaScript中的new关键字。它使构造函数能够创建新的对象实例,但这背后究竟发生了什么?
首先,new运算符创建一个空对象。想象一下,一个等待填充属性和方法的空白画布。
其次,这个空对象与构造函数的原型对象关联。这就好比建立了一个继承关系,新对象知道了它的“祖先”。
1
obj.__proto__ = constructorfunction.prototype;
然后,new运算符将这个新对象作为this上下文传递给构造函数。在构造函数内部,您可以使用this来添加属性和方法,就像为这个新对象添加功能一样。
立即学习“Java免费学习笔记(深入)”;
1
constructorfunction.call(obj);
最后,new运算符检查构造函数是否返回一个对象。如果没有,它会返回之前创建的新对象;如果有,则返回构造函数返回的对象。
来看一个例子:
1
2
3
4
5
6
function Animal(type) {
this.type = type;
}
const cat = new Animal(cat);
console.log(cat.type); // cat
如果没有new关键字,上述步骤将不会执行,this将指向全局对象(在浏览器环境中是window),导致原型链断裂以及其他错误。因此,new关键字是创建对象实例的关键,确保一切按预期进行。
以上就是JavaScript 中“new”关键字的作用是什么?的详细内容,更多请关注php中文网其它相关文章!