码迷,mamicode.com
首页 > 编程语言 > 详细

javascript深入浅出 OPP

时间:2017-03-03 00:11:05      阅读:654      评论:0      收藏:0      [点我收藏+]

标签:gzip   margin   border   mba   ruid   vpd   pci   cli   gid   

概念

    定义:

        Object-oriented programming    面向对象程序设计

        对象是类的实例

        它将对象作为程序的基本单元

        将程序和数据封装在其中

        以提高软件的重用性,灵活性和扩展性

    特性:

    ​    ​继承

    ​    ​封装

    ​    ​多态


继承

    基于原型的继承:

    ​    ​prototype属性与原型

    ​    ​原型中的prototype指向父类

    改变prototype:

    ​    ​修改某项属性,前面受影响

    ​    ​重写prototype,前面不受影响

    实现继承的方式:

1
Student.prototype = new Person();
1
2
Student.prototype =
Object.create(Person.prototype);
1
2
3
4
5
6
7
if (!Object.create) {
    Object.create = function (prototype) {
        function F() {}
        F.prototype = prototype;
        return new F();
    };
}


模拟

    模拟重载:

    ​    ​根据参数类型和参数个数分别执行

    ​    ​通过arguments和typeof类型判断实现

    链式调用:

        核心:return this

    模块化:

    ​    ​函数立即执行返回给变量

1
2
3
4
5
6
7
8
9
var module = function () {
    var name = ‘guo‘;
    function fun() {
    }
    return {
        name: name,
        fun: fun
    };
}();


 

技术分享

javascript深入浅出 OPP

标签:gzip   margin   border   mba   ruid   vpd   pci   cli   gid   

原文地址:http://www.cnblogs.com/ybbqg/p/6492861.html

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