您好,欢迎来到欧得旅游网。
搜索
您的当前位置:首页js创建对象的方式及其特点

js创建对象的方式及其特点

来源:欧得旅游网

js创建对象的方式有很多种,每种方式都有各自的优缺点,所以选择一个合适的创建对象的方式是很重要的,下面的内容为大家介绍了js创建方式的几种方式。

1.工厂模式

function createPerson(name){
 //1、原料
 var obj=new Object();
 //2、加工
 obj.name=name;
 obj.showName=function(){
 alert(this.name);
 } 
 //3、出场
 return obj; 
} 
var p1=createPerson('小米');
p1.showName();

优点:解决了创建相似对象的问题

缺点:并不能zhi知道一个对象的lei'类型

2.构造函数

function CreatePerson(name){
 this.name=name;
 this.showName=function(){
 alert(this.name);
 }
}
 var p1=new CreatePerson('小米');

优点:可以将一些实例表示为一种特定的类型

缺点:方法会在每个实例上都重新创建一遍遍

3.原型

function Person(){}
Person.prototype.name="小米";
Person.prototype.showName=function(){
alert(this.name);
}
var p1=new Person();
p1.showName();

优点:属性和方法定义在原型上 ,故每个实例可以共享属性和方法

缺点:实例的属性不能私有化

4.混合式(构造函数+原型)

function CreatePerson(name){
 this.name=name;
}
 Create.prototype.showName=function(){
 alert(this.name);
 }
 var p1=new CreatePerson('小米');
 p1.showName();
 var p2=new CreatePerson('小米');
 p2.showName();
  alert(p1.showName==p2.showName);//true;原因:都是在原型下面,在内存中只存在一份,地址相同

通过构造函数来定义属性,原型来定义方法和共享的属性。

5.字面量

person={
  name:"小米",
  age:23
};

Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务