Javascript创建类和对象详解
在Javascript中,我们可以使用构造函数和原型对象的方式来创建类和对象。
构造函数
构造函数是一个普通的函数,用于初始化一个对象。在使用new
运算符生成一个对象时,会自动创建一个空对象,并将该对象传递到构造函数中,最终返回这个对象。构造函数的命名规则是约定俗成的首字母大写。
示例1
function Person(name, age) {
this.name = name;
this.age = age;
}
let jack = new Person('Jack', 30);
console.log(jack.name); // 'Jack'
console.log(jack.age); // 30
在示例1中,我们定义了一个Person
类,该类有两个属性:name
和age
。接下来,我们用new
运算符创建了一个jack
对象,并在构造函数中初始化了jack
对象的属性,最后输出了jack
对象的name
和age
属性。
示例2
function Rectangle(width, height) {
this.width = width;
this.height = height;
}
Rectangle.prototype.area = function() {
return this.width * this.height;
}
let rectangle = new Rectangle(5, 3);
console.log(rectangle.area()); // 15
在示例2中,我们定义了一个Rectangle
类,该类有两个属性:width
和height
。并在Rectangle.prototype
上添加了一个名为area
的方法,该方法用于计算Rectangle
对象的面积。接下来,我们创建了一个rectangle
对象,并调用了area
方法,最后输出了rectangle
对象的面积。
原型对象
在Javascript中,每个对象都有一个指向其原型对象的指针。原型对象可包含类属性和方法,这些属性和方法将被所有该类的实例所共享。我们可以通过给原型对象添加属性和方法,来扩展类的功能。
示例3
function Animal(name) {
this.name = name;
}
Animal.prototype.type = 'mammal';
Animal.prototype.speak = function() {
console.log(this.name + ' is a ' + this.type + ' and it can speak.');
}
let dog = new Animal('Dog');
let cat = new Animal('Cat');
console.log(dog.type); // 'mammal'
console.log(cat.type); // 'mammal'
dog.speak(); // 'Dog is a mammal and it can speak.'
cat.speak(); // 'Cat is a mammal and it can speak.'
在示例3中,我们定义了一个Animal
类,该类有一个name
属性和两个原型属性:type
和speak
方法。我们创建了两个Animal
对象,分别是dog
和cat
,它们都可以访问原型对象上的属性和方法,因为它们都指向同一个原型对象。
小结
在Javascript中,我们可以使用构造函数和原型对象的方式来创建类和对象。构造函数用于初始化对象,原型对象用于包含类属性和方法,且被所有该类的实例所共享。通过构造函数和原型对象的配合使用,我们可以轻松创建出复杂的类和对象,并进行扩展和重用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Javascript创建类和对象详解 - Python技术站