Javascript继承(上)——对象构建介绍
概述
在Javascript中,继承是一种重要的特性。通过继承,我们可以复用已有代码,并且在不改变原有代码的前提下,扩展和改进功能。
本文将介绍Javascript中的对象构建方式,从而为后续讲解继承做好铺垫。
对象创建
在Javascript中可以通过以下方式创建对象:
1.对象字面量
对象字面量是一种简单的创建对象的方式,使用一堆大括号{}
包裹起来,其中包含零个或多个键值对,键值对之间用逗号,
分隔,键和值用冒号:
分隔。
let person = {
name: '张三',
age: 18,
sayHello: function() {
console.log('大家好,我是' + this.name + ',今年' + this.age + '岁。');
}
};
对象字面量创建的对象无法复用,只能单独使用。
2.构造函数
构造函数是一种创建对象的常见方式。它类似于类的概念,可以创建多个相似的对象实例。构造函数可以使用new
关键字来调用,从而创建一个新的对象实例。
function Person(name, age) {
this.name = name;
this.age = age;
this.sayHello = function() {
console.log('大家好,我是' + this.name + ',今年' + this.age + '岁。');
}
}
let person1 = new Person('张三', 18);
let person2 = new Person('李四', 20);
通过构造函数创建的对象可以重复使用,并且所有实例共享构造函数中定义的公共方法和属性。
3.原型
每个Javascript对象都有一个内部属性[[Prototype]]
,它指向该对象的原型。原型对象是一个普通的Javascript对象,用于存放共享的属性和方法。
我们可以使用Object.create()
方法来创建一个新的对象并指定它的原型对象。
let personPrototype = {
sayHello: function() {
console.log('大家好,我是' + this.name + ',今年' + this.age + '岁。');
}
};
let person1 = Object.create(personPrototype);
person1.name = '张三';
person1.age = 18;
let person2 = Object.create(personPrototype);
person2.name = '李四';
person2.age = 20;
通过原型创建的对象可以复用,同时所有实例都具有共享的原型属性和方法。
示例说明
示例一:使用构造函数创建对象
function Animal(name) {
this.name = name;
}
Animal.prototype.sayHello = function() {
console.log('我是' + this.name);
}
let dog = new Animal('旺财');
let cat = new Animal('汤姆');
dog.sayHello(); // 输出:我是旺财
cat.sayHello(); // 输出:我是汤姆
在示例中,我们通过构造函数Animal
创建了两个实例dog
和cat
,并且它们均可以调用从原型继承而来的sayHello
方法。
示例二:使用原型创建对象
let animalPrototype = {
sayHello: function() {
console.log('我是' + this.name);
}
};
let dog = Object.create(animalPrototype);
dog.name = '旺财';
let cat = Object.create(animalPrototype);
cat.name = '汤姆';
dog.sayHello(); // 输出:我是旺财
cat.sayHello(); // 输出:我是汤姆
在示例中,我们使用了原型对象animalPrototype
来创建两个实例dog
和cat
,其在原型对象中定义了sayHello
方法。虽然实例之间没有通过构造函数创建,但是它们依然可以正常调用继承而来的方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Javascript继承(上)——对象构建介绍 - Python技术站