面向对象与原型

说真的,学习JavaScript时,面向对象与原型这章特别考验你的编程基础能力,逻辑性很强,初学时,整个人都是懵逼的状态,现在依然有点,每个函数的封装方式都是从缺点最多的写法进入,再一步一步深入,不断优化函数,最终,使得自己写出的函数能够代码精简,并且兼容性好,下面我就分享下最基础的工厂模式吧!(创建对象)

1.首先要说明的是工厂模式的好处:那就是它能解决实例化对象产生的大量重复的问题。

2.下面我来写一段非公工厂模式下:

//创建一个对象,然后给这个对象创建新属性和方法
var Nofactory=new  object();
Nofactory.name='Lee';
Nofactory.age=100;
Nofactory.run=function(){
    return this.name+this.age;
}   
alert(Nofactory.run()); 

 如果我要改变属性的话,每次都要重新创建对象,步骤很重复

3.工厂模式:

//集中实例化的函数
function createObject(name,age){
    var obj=new Object();
    obj.name=name;
    obj.age=age;
    obj.run=function(){
      return this.name+this.age;  
   };
      return obj;   
}
var factory1=createObject('Lee',100);//实例化对象
var factory2=createObject('Jack',50);//实例化对象
alert(factory1.run());//打印出结果是:Lee100
alert(factory2.run());//打印出结果是:Jack50

    

posted @ 2017-11-25 16:17  winpin  阅读(202)  评论(0编辑  收藏  举报