JS三种创建对象的方式及工厂模式

首先,JS是一门基于对象的语言,不是面向对象语言,因为他的语法中没有Class(类)

     JS虽然不是面向对象的语言,但是可以模拟面向对象语言的编程思想

1.通过new的方式(系统对象)

     var obj=new Object();

  var arr=new Array();

  var str=new String();

2.字面量的方式

var obj={
      name:"小明",
      age:20,
      eat:function(){
            console.log("吃")
    }      
}

3.自定义构造函数创建对象

function Person(name,age){
  this.name=name;
  this.age=age;
  this.eat=function(){
     console.log("吃");
  }     
}

  3.1实例化对象

var man = new Person("小明",20);

  在这个实例化过程中发生了四件事:

    (1)开辟内存空间,把创建的新对象存储起来

    (2)把this设置为当前对象

    (3)设置属相和方法的值

    (4)返回当前对象

4.工厂模式创建对象

//我们将他封装成一个函数
function createObj(name,age){
   var obj=new Object();
   obj.name=name;
   obj.age=age;
   return obj;        
}

  4.1大批量创建对象

var man1=createObj("小明",20);
var man2=createObj("小明",20);
var man3=createObj("小明",20);
var man4=createObj("小明",20);
var man5=createObj("小明",20);

  4.2优缺点:

      优点:可用于大批量创建对象

      缺点:一种数据类型

原文地址:https://www.cnblogs.com/qyuan/p/9759417.html