zoukankan      html  css  js  c++  java
  • 对象

    什么是对象?

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

    属性:描述事物的特点

    方法:事物拥有的行为

    在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.中间类继承

  • 相关阅读:
    java简单计算器,只能鼠标点击数字
    可以掉落和滑动的星星
    servlet生成数字验证码
    web服务器底层-http请求与相应
    Codeforces 990D Graph And Its Complement 【构造】【性质】
    2018美团CodeM编程大赛 Round A Problem 2 下棋 【贪心】
    Codeforces 988F Rain and Umbrellas 【dp】
    Codeforces 988D Points and Powers of Two 【性质】【卡常】
    Codeforces 981D Bookshelves 【dp】【性质】
    POJ 2104 K-th Number 【主席树】【不带修改】
  • 原文地址:https://www.cnblogs.com/zzz035921/p/10375736.html
Copyright © 2011-2022 走看看