• javascript笔记—面向对象


    什么是对象:

    对象是一个整体,对外提供一些操作。 

    什么是面向对象:

    使用对象时,只关注对象提供的功能,不关注其内部细节,例如jquery

    面向对象是一种通用思想,并非只有编程中能用,任何事情都可以用。

    javascript中得面向对象:

    面向对象编程(OOP)的特点:

    抽象:抓住核心问题

    封装:不考虑内部实现,只考虑功能使用

    继承:从已有对象上,继承出新的对象

    —多重继承

    —多态

    对象的组成:

    —方法—函数:过程、动态的

    —属性—变量:状态、静态的

    用工厂方式构造对象:构造函数

    <script>
    //用工厂方式构造对象
    function createPerson(name,sex){ //构造函数
    var obj = new Object();
    obj.name = name;
    obj.sex = sex;
    obj.showName = function(){
    alert('我的名字叫'+this.name);
    };
    obj.showSex = function(){
    alert('我是'+this.sex+'的');
    };
    return obj;
    }
    var p1 = createPerson('blue','nan');
    p1.showName();
    p1.showSex();
    </script>

    工厂方式的缺点:

    1、没有new

    2、每个对象都有自己的函数,这是极其浪费资源的。

    this:当前的方法,属于谁。

    Array类:不具备实际的功能,只能用来构造对象

    arr对象:真正有功能的东西,被类给构造出来

    用prototype方式来解决工厂方式问题。

    <script>
    var arr1 = new Array(12,5,8,4);
    var arr2 = new Array(44,5,6,7,8);
    Array.prototype.sum = function(){
    var result = 0;
    var i = 0;
    for(i=0;i<this.length;i++){
    result+=this[i];
    }
    return result;
    };
    alert(arr1.sum());
    alert(arr2.sum());
    </script>

    原型的一个重要的功能(应用):可以扩展系统的对象

    <script>
    function Person(name,sex){
    this.name = name;
    this.sex = sex;
    };
    Person.prototype.showName = function(){
    alert(this.name);
    };
    Person.prototype.showSex = function(){
    alert(this.sex);
    };
    var p = new Person('blue','nan');
    p.showName();
    p.showSex();
    </script>

    实例:面向对象的选项卡

    把面向过程的程序,改写成面向对象的形式

    原则:不能有函数套函数的情况,但可以有全局变量

    所有的代码都必须在window.onload里。

  • 相关阅读:
    博弈论基础与习题(未完)
    三视图求最多方块数
    二维前缀和应用
    卡特兰数
    UVa 11806 Cheerleaders(容斥定理)
    逃出升天
    求排列的逆序数
    求2进制下1的个数
    字符串哈希基础与应用
    网络流基础与应用
  • 原文地址:https://www.cnblogs.com/zhaoyixin/p/4523085.html
Copyright © 2020-2023  润新知