JS面向对象:三.使用构造函数创建对象

使用构造函数创建对象

<!DOCTYPE html>
<html>
<head lang="en"><meta charset="UTF-8"><title>构造函数</title>
</head>
<body>
<script>function Flower(name,genera,area,uses){this.name=name;this.genera=genera;this.area=area;this.uses=uses;this.showName=function(){alert(this.name);}}var flower1=new Flower("长春花","夹竹桃科 长春花属","非洲、亚热带、热带以及中国大陆的华东、西南、中南等地","观赏或用药等");flower1.showName();var flower2=new Flower("牡丹","芍药科 芍药属","中国","观赏、食用或药用");flower2.showName();var flower3=new Flower("曼陀罗花","茄科 曼陀罗属","印度、中国北部","观赏或药用");flower3.showName();//alert(flower1.constructor==Flower);//alert(flower2.constructor==Flower);// alert(flower2.constructor==Flower);alert(flower1 instanceof Object);alert(flower1 instanceof Flower);alert(flower2 instanceof Object);alert(flower2 instanceof Flower);alert(flower3 instanceof Object);alert(flower3 instanceof Flower);
</script>
</body>
</html>

通过构造函数 Flower 创建了三个花卉对象 flower1flower2flower3。每个花卉对象具有名称、属、产地和用途等属性,并且有一个 showName 方法来显示花卉的名称。

在代码的最后部分,使用了一些 alert 函数来检查对象的类型关系:

  • flower1 instanceof Objectflower2 instanceof Objectflower3 instanceof Object 检查这些对象是否是 Object 类型的实例,因为在JavaScript中,所有对象都是 Object 的实例,所以这些表达式都会返回 true
  • flower1 instanceof Flowerflower2 instanceof Flowerflower3 instanceof Flower 检查这些对象是否是 Flower 类型的实例,因为这些对象是通过 Flower 构造函数创建的,所以这些表达式也会返回 true

这段代码展示了如何使用构造函数创建对象,并在对象之间建立了继承关系。