码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象

时间:2016-11-02 23:02:41      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:object   使用   实例化   对象   存在   通过   new   实例   包含   

Js面向对象的几种方式?

1.对象的字面量 var obj={};

2.创建实例对象var obj = new Object();

3.构造函数模式 function fn(){}, new fn();

4.工厂模式:用一个函数,通过传递参数返回对象

5.原型模式

function clock(hour){}

fn.prototype.hour = 0;

new clock();

1、工厂模式:
             缺点:(1)创建出来的对象无法识别类别
                   (2)没有用new创建,不符合创建对象的行为习惯,不明确该函数是否为创建对象。
   2、构造函数
            优点:解决对象识别的问题
                 解决实例化对象大量重复问题
            缺点:每new出一个实例,就会开辟相应的实例属性,实例方法的空间,造成大量的内存浪费
   3、原型模式
           优点:解决空间浪费,可以被所有通过构造函数实例化的对象共享
           缺点:无法传参,所以创建的所有实例都是同一个属性值
   4、混合模式
          实例方法和原型属性
          就近原则:自定义属性 > 实例属性 > 自定义属性
          Box.prototype.isPrototypeOf(box):判断一个对象是否指向了构造函数的原型对象,可以使用isPrototypeOf()方法来测试
          delete:删除指定对象实例属性(也可以删除自定义属性和所有的原型属性(不建议删));
          hasOwnProperty()是否包含该实例属性
          in 是否存在该属性,先找实例后查原型

面向对象

标签:object   使用   实例化   对象   存在   通过   new   实例   包含   

原文地址:http://www.cnblogs.com/qq123456789/p/6024684.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!