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

  • 相关阅读:
    Spring Boot重定向的使用方法
    Jmeter性能测试之Monitor监控(SSHMon Samples Collector)
    Jmeter性能测试之分布式(五)
    Jmeter性能测试之Monitor监控(四)
    Jmeter性能测试之关联(三)
    Jmeter性能测试之参数化(二)
    JVM 内存溢出(转载~)
    MySql workbeach 更改侧边栏大小
    Mybati example generatorConfig.xml 配置详解
    Rvm 进行gem安装时必须输入密码Your user account isn't allowed to install to the system RubyGems 解决方案
  • 原文地址:https://www.cnblogs.com/zzz035921/p/10375736.html
Copyright © 2011-2022 走看看