• 每日一结(11.8)


    1.构造函数的创建

    步骤:

    (1)隐式创建这个对象

    (2)让this指向这个空对象 this = new Object

    (3)将实例化对象的__proto__指向构造函数的prototype

    (4)添加属性和方法(执行构造函数中的代码)

    (5)隐式返回这个对象 return this

    优点: 识别明确 批量创建

    缺点:浪费内存 一样的方法可以存储多次

    2.原型和原型属性

    (1)原型对象prototype:没一个构造函数在声明的时候,都会创建一个原型对象prototype 用于存储公共的共享的属性和方法

    获取原型 String对象 Date对象 Array RegExp

    (2)原型属性__proto__:每一个实例化对象在创建的时候,都会创建一个原型属性__proto__,指向构造函数的prototype

    实例化对象 必须使用new关键字调用构造函数

    3.原型创建

    将属性和方法添加到构造函数的原型对象上

    实例化对象__proto__指向构造函数的prototype

    原型链:一种查找方式,先找实例对象本身 如果有就用自己的 没有再依次往__proto__中找 如果找不到就是undefined

    优点:解决了浪费内存的问题

    缺点:不能传参

    4.this的指向问题

    (1)在事件处理函数中  this指向触发事件的对象  点谁指向谁

    (2)普通函数中this 指向window

    (3)在object数据类型中  this指向当前触发方法所在的对象

    (4)在定时器中  this指向window

    (5)在构造函数中  this指向当前实例化对象

    5.call和apply的用法

    (1)call和apply都是改变this的指向

    (2)函数.call(this的新指向,参数1,参数2,参数3......)

    (3)函数.apply(this的新指向,[参数1,参数2,参数3.....])

    6.检测数据类型有3种方法

    (1)typeof

    (2)Object.prototype.toString.call(检测的数据)

    (3)instanceof  检测当前实例化对象是否是由该构造函数创建的

  • 相关阅读:
    飞桨图像分割套件PaddleSeg初探
    【牛客 - 剑指offer】JZ4 二维数组中的查找 Java实现
    二、Redis分布式锁
    Linux安装进程树状图显示工具pstree
    优秀的推荐系统架构与应用:从YouTube到Pinterest、Flink和阿里巴巴
    MySQL 开启 binlog 日志
    MySQL架构设计详解
    Go-Admin后台管理系统源码(GO+VUE)编译与部署
    idea 连接远程 docker 并部署项目到 docker
    RPC原理
  • 原文地址:https://blog.csdn.net/xz100599/article/details/127755222