面向对象与原型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象与原型相关的知识,希望对你有一定的参考价值。

说真的,学习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

    

以上是关于面向对象与原型的主要内容,如果未能解决你的问题,请参考以下文章

详解面向对象构造函数原型与原型链

原型对象原型链--js面向对象

十面向对象与原型

JavaScript面向对象——成员属性静态属性原型属性与JS原型链

js面向对象与原型

第一百零九节,JavaScript面向对象与原型