封装DOM

手写一个JQuery
DOM是JS里面最常用的一个接口,会DOM就会网页上任何一个操作

1.什么叫封装?
相当于把一个复杂的东西打包成一个服务或者是盒子,只需要用一些简单的命令就可以操作它

1.1举例

  • 电脑笔记本就是 CPU、内存、硬盘、主板、显卡 的封装(或者手机也是)
  • 用户只需要接触显示器、键盘、鼠标、触控板等设备
  • 即可操作复杂的计算机

1.2接口

  • 被封装的东西需要暴露一些功能给外部
  • 这些功能就是接口,比如 USB接口、HDMI接口
  • 设备只要支持这些接口,即可与被封装的东西通讯
  • 比如 键盘、鼠标支持USB接口
  • 显示器支持HDMI接口

    1.3 我的库
    封装出一些接口,这些接口是用来操作页面的节点

    2.术语

  • 我们把提供给其他人用的工具代码(很多函数)叫做库
    编程的库:把一些好用的函数放到一个地方
    比如:JQuery、Underscore
  • API
    库暴露出来的函数或者属性叫做API(应用编程接口)
  • 框架
    当你的库变得很大,并且需要学习才能看懂
    那么这个库就叫做框架,比如 Vue/React(也是库,但它们很大)
  • 注意
    编程界的属于大部分都很随便,没有固定的解释
    所以意会即可

用两种风格封装DOM操作

一、对象风格

  • 也叫命名空间风格
    window.dom 是我们提供的全局对象
  • 然后在dom上挂很多的函数

6-3 JS编程接口(手写DOM库)相关推荐

  1. 【学习笔记】Part1·JavaScript·深度剖析-函数式编程与 JS 异步编程、手写 Promise(二、JavaScript 异步编程)

    [学习笔记]Part1·JavaScript·深度剖析-函数式编程与 JS 异步编程.手写 Promise(课前准备) [学习笔记]Part1·JavaScript·深度剖析-函数式编程与 JS 异步 ...

  2. JS 面试问题: 手写 new

    JS 面试问题: 手写 new

  3. promise 浏览器实现的源码_【大前端01-01】函数式编程与JS异步编程、手写Promise...

    [简答题]一.谈谈你是如何理解JS异步编程的,EventLoop.消息队列都是做什么的,什么是宏任务.什么是微任务? 如何理解JS异步编程 众所周知JavaScript语言执行环境是"单线程 ...

  4. 计算机毕业设计中用python神经网络编程实现手写数字识别

    本文实例为大家分享了python实现手写数字识别的具体代码,供大家参考,具体内容如下 import numpyimport scipy.special#import matplotlib.pyplot ...

  5. python手写数字识别实验报告_python神经网络编程实现手写数字识别

    本文实例为大家分享了python实现手写数字识别的具体代码,供大家参考,具体内容如下 import numpy import scipy.special #import matplotlib.pypl ...

  6. 小白玩机器学习(6)--- 基于Tensorflow.js的在线手写数字识别

    一.题目要求 1.三个js文件,分别完成:网络训练以及模型保存.模型加载及准确率测试.在线手写数字识别: 2.模型测试准确率要高于99.3%(尽量): 3.在线手写数字识别需要能够通过鼠标在画布中写入 ...

  7. Python神经网络编程:手写数字的数据集MNIST

    识别人的笔迹这个问题相对复杂,也非常模糊,因此这是一种检验人工智能的理想挑战.这不像进行大量数字相乘那样明确清晰. 让计算机准确区分图像中包含的内容,有时也称之为图像识别问题.科学家对这个问题进行了几 ...

  8. matlab 对mnist手写数字数据集进行判决分析_Python神经网络编程:手写数字的数据集MNIST...

    识别人的笔迹这个问题相对复杂,也非常模糊,因此这是一种检验人工智能的理想挑战.这不像进行大量数字相乘那样明确清晰. 让计算机准确区分图像中包含的内容,有时也称之为图像识别问题.科学家对这个问题进行了几 ...

  9. 【零基础】从零开始学神经网络《python神经网络编程》——手写数字识别实战

    文章目录 前言 一.机器学习是什么,深度学习是什么? 二.对NN,CNN,RNN,GNN,GAN的名词解释 三.详细介绍神经网络(NN) 1.认识神经网络 2.神经元 3.激活函数 4.权重--连接的 ...

最新文章

  1. Oculus Go 开发者版本开放索取,下个月设备开始配送
  2. 第一讲,我们来谈谈:“什么叫做进制”
  3. oracle数据库函数/存储过程/包区别
  4. 【小白学习C++ 教程】十四、C++ 中预处理器
  5. 微信跳一跳python全部代码_微信跳一跳python代码
  6. C实战:项目构建Make,Automake,CMake
  7. ClickHouse到底是什么?凭啥这么牛逼!
  8. 北向资金运作akshare
  9. linux每个任务运行时间,Linux基础教程:任务计划和周期性任务
  10. [c++]筛法求素数
  11. 【FFMEPG】windows下编译ffmpeg2.5——使用VS2013,ARMLINUX,ANDORID编译ffmpeg
  12. 【卫朋】硬件创业:营销与开发同行
  13. mysql数据库now_MySQL NOW() 函数
  14. 计算机安全威胁防范,计算机网络安全威胁及防范措施
  15. 如何将JPG格式图片转换成BMP格式
  16. 大智能时代,未来人工智能发展新趋势
  17. Windows64位操作环境下,eclipse使用32位JDK
  18. STM32硬件SPI控制TM1638 按键数码管LED显示模块
  19. 想成为月薪过万的软件测试工程师?你得了解这些测试思想和工作方法~
  20. 老子兵法—柔情似水篇

热门文章

  1. 2021 vivo开发者大会安全专场:将数据安全贯穿品牌战略始终
  2. 【正点原子MP157连载】 第十四章 IP核之RAM实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
  3. docker 版X-pack 6.3.0破解
  4. 【c++】Scons|scons对比make
  5. 频谱分析幅值单位_干货 | 频谱分析仪基础知识
  6. 【JZOJ5410】【NOIP2017提高A组集训10.22】小型耀斑
  7. Excel文档导出-后端返回文件流,前端实现下载功能
  8. 美团外卖广告智能算力的探索与实践(二)
  9. win10环境下python Selenuim调用Chrome时提示data 不安全
  10. Word基本操作以及实用小技巧