• 对象


    什么是对象?

    对象:任何实体都是对象。拥有属性和方法俩大特征

    属性:描述事物的特点

    方法:事物拥有的行为

    在js中我们区分属性和方法

    person.name=“zhang”   属性

    person.fn=function(){}   方法

    在js中如何去生成对象

    1.单例模式/字面量定义  var obj={name:“zhang”}

    2.内置类  var obj=new Object()

        Object.name=“zhang”

    js内置类

    string····array···object···number····Boolean···date···function

    3.工厂模式

    function create(){

    var obj={}

    Obj.name=

    return object

    }

    4.构造函数

    function.person(){

    this.name=“li”

    }

    var zhang=new person()

    4.this的问题

    this是关键字,它是一个对象

    函数外·····this都是window

    函数内  看带不带点  带点就是点前面的对象,不带点就是window

    继承

    原型继承

    每个函数类都天生自带一个prototype的属性,这个属性是个对象,它里面天生自带一个constructor的属性,属性值是当前函数类的本身

    每个实例对象天生自带一个__proto__属性,这个属性是对象,它指向当前实例对象的类的原型

    类的继承

    对象赋值

    通过for in 将父类的所有属性变成子类私有的属性

    object.create()将父类的属性赋值成子类公有的属性

    原型继承

    将父类的实例赋值给子类的原型,父类实例的所有属性成了子类的公有

    call继承

    改变this指向的方法

    1.call

    fn.call(div)将fn中的this换成div然后再把fn调用

    2.apply

    3.bind

    4.提前声明

    call继承将父类私有的继承为子类私有的

    3.冒充对象继承

    将父类的所有属性继承为子类私有的

    4.混合继承

    将call继承和原型继承结合的

    私有继承私有,私有和公有再次继承为子类的公有

    5.组合继承

    call继承和克隆继承的结合

    6.中间类继承

  • 相关阅读:
    AngularJS定时器任务
    ssh常用
    HTTPClient模块的HttpGet和HttpPost
    eclipse下设置tomcat,修改Java代码不必重启tomcat
    【转】调试Release发布版程序的Crash错误
    C/C++ 函数压栈方式
    PHP 安全三板斧:过滤、验证和转义之转义篇 & Blade模板引擎避免XSS攻击原理探究
    让 MySQL 支持 emoji 存储
    Laravel 5.1 中创建自定义 Artisan 控制台命令实例教程
    常见的Web实时消息交互方式和SignalR
  • 原文地址:https://www.cnblogs.com/zzz035921/p/10375736.html
Copyright © 2020-2023  润新知