首页 > web前端 > js教程 > js创建对象的方式及其特点

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

不言
发布: 2018-07-17 15:10:23
原创
1565 人浏览过

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
};
登录后复制

相关推荐:

JS创建对象的写法示例

多种创建js对象的方法详细讲述

以上是js创建对象的方式及其特点的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板