声明构造函数
构造函数是用于构造新对象的函数。在构造函数中,关键字 this
指的是可以分配给值的新创建的对象。构造函数自动返回这个新对象。
function Cat(name) {
this.name = name;
this.sound = "Meow";
}
使用 new
关键字调用构造函数:
let cat = new Cat("Tom");
cat.sound; // Returns "Meow"
构造函数还具有 prototype
属性,该属性指向一个对象,该属性的属性由使用该构造函数创建的所有对象自动继承:
Cat.prototype.speak = function() {
console.log(this.sound);
}
cat.speak(); // Outputs "Meow" to the console
构造函数创建的对象在其原型上也有一个名为 constructor
的特殊属性,它指向用于创建它们的函数:
cat.constructor // Returns the `Cat` function
由构造函数创建的对象也被 instanceof
运算符视为构造函数的实例:
cat instanceof Cat // Returns "true"