面向对象

面向对象
关键字 this :一个临时变量,不具体只代表谁; ★★★★★★ 调用对象是谁就代表谁(动态指定);
构造函数: ★★★★★
用来构造(创建)对象的函数
注意:
①  构造器的名字首字母一定要大写;
②  使用构造器创建对象的时候需要添加关键字new;
如: 构造函数function(){}
通过构造函数实例化(创建、构造)一个对象
new Person();
原型:
①  是类里面的一个共享空间
②  可以在这个共享空间中添加一些公共的(只要通过这个类创建的都可以访问)属性和方法;
③  所有对象访问的这些属性和方法都存在内存的同一个地址中
④  存放对象、存放数组时,一个对象中数组里面的内容被删除或者添加,其他的也会跟着删除或添加;
原型 继承
改变原型对象->所有通过这个类创建出来的对象,都会具备改变原型对象
例子:
function Person() { }
var obj = {name:" 小明"}
Person.prototype = obj
Person是一个类,改变Person的原型对象为obj,所有通过Person创建出来的对象,就具备了obj里面的特征(name=小明)
如果改变Person原型对象为另一个类实例化的对象,他就会具备另一个类的特征;
例子:
    function Animal() {
    this.type = " 动物";
    }
    function Person() { }
    Person.prototype = new Animal();
这个时候Person类会具备Animal里面的特征(type=动物);
命名空间
给自己所有的类、函数、变量添加一个统一的入口;避免命名冲突,自己的文件好找;
公式 window.nameSpace = window.nameSpace||{}
回调函数 :也是一个函数,只是把函数当成了参数;
意义 :当执行某个函数的时候,符合了某个条件会返回去,调用传过来的函数主要用于监听某个事件什么时候执行完              毕;
基本概念 function loadData(){ };
函数名 :是函数的名字,代表的是整个函数,函数名是loadData;
调用函数 :执行函数体里面的代码
loadData( );

绑定 bind可以绑定外面的this,函数里面的this都表示绑定的this;
this:
✭✭✭✭✭✭ 谁调用  this 就表示哪个对象
1. 普通函数里面  没有任何调用这个函数的对象(没有this的指向)->这里面的this表示的是 window对象
2. 在构造函数里面 this表示 即将被实例化出来的对象;
Call/apply:
都可以改变this的指向,同时调用了指定的函数
区别: ① Call:只能一个个传参;   ② Apply:只能传数组
使用环境:子类构造函数中的参数传递到父类里面,同时更改父类的this指向

继承
多重继承:Student -> Person -> Animal
__proto__ :都表示原型对象  调用的方式不一样  对象名调用xiaoming.__proto__
prototype: 都表示原型对象  使用类名调用 Student.prototype
Function.prototype.jiCheng = function (sup) {
        var prototype = Object.create(sup.prototype);
        prototype.constructor = this;
        this.prototype = prototype;
};
原型链

子类和父类的原型关系
如:学生类  继承   人类  -> 人类  继承  动物类 -> 动物类继承Object ( 最底层的类)
学生类的对象查找某一个属性, 会先从自己的原型对象去查找,如果没有就从他的父类去查找;
找到-> 找到的结果
没有找到->unfined
Setter
Getter
可以读取或者设置类里面的私有属性
类的静态方法 (类方法)
使用类名调用
好处:节省内存(不需要实例化对象去调用);
使用环境:工具类,不需要使用this的方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值