6-3 JS编程接口(手写DOM库)
封装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库)相关推荐
- 【学习笔记】Part1·JavaScript·深度剖析-函数式编程与 JS 异步编程、手写 Promise(二、JavaScript 异步编程)
[学习笔记]Part1·JavaScript·深度剖析-函数式编程与 JS 异步编程.手写 Promise(课前准备) [学习笔记]Part1·JavaScript·深度剖析-函数式编程与 JS 异步 ...
- JS 面试问题: 手写 new
JS 面试问题: 手写 new
- promise 浏览器实现的源码_【大前端01-01】函数式编程与JS异步编程、手写Promise...
[简答题]一.谈谈你是如何理解JS异步编程的,EventLoop.消息队列都是做什么的,什么是宏任务.什么是微任务? 如何理解JS异步编程 众所周知JavaScript语言执行环境是"单线程 ...
- 计算机毕业设计中用python神经网络编程实现手写数字识别
本文实例为大家分享了python实现手写数字识别的具体代码,供大家参考,具体内容如下 import numpyimport scipy.special#import matplotlib.pyplot ...
- python手写数字识别实验报告_python神经网络编程实现手写数字识别
本文实例为大家分享了python实现手写数字识别的具体代码,供大家参考,具体内容如下 import numpy import scipy.special #import matplotlib.pypl ...
- 小白玩机器学习(6)--- 基于Tensorflow.js的在线手写数字识别
一.题目要求 1.三个js文件,分别完成:网络训练以及模型保存.模型加载及准确率测试.在线手写数字识别: 2.模型测试准确率要高于99.3%(尽量): 3.在线手写数字识别需要能够通过鼠标在画布中写入 ...
- Python神经网络编程:手写数字的数据集MNIST
识别人的笔迹这个问题相对复杂,也非常模糊,因此这是一种检验人工智能的理想挑战.这不像进行大量数字相乘那样明确清晰. 让计算机准确区分图像中包含的内容,有时也称之为图像识别问题.科学家对这个问题进行了几 ...
- matlab 对mnist手写数字数据集进行判决分析_Python神经网络编程:手写数字的数据集MNIST...
识别人的笔迹这个问题相对复杂,也非常模糊,因此这是一种检验人工智能的理想挑战.这不像进行大量数字相乘那样明确清晰. 让计算机准确区分图像中包含的内容,有时也称之为图像识别问题.科学家对这个问题进行了几 ...
- 【零基础】从零开始学神经网络《python神经网络编程》——手写数字识别实战
文章目录 前言 一.机器学习是什么,深度学习是什么? 二.对NN,CNN,RNN,GNN,GAN的名词解释 三.详细介绍神经网络(NN) 1.认识神经网络 2.神经元 3.激活函数 4.权重--连接的 ...
最新文章
- Oculus Go 开发者版本开放索取,下个月设备开始配送
- 第一讲,我们来谈谈:“什么叫做进制”
- oracle数据库函数/存储过程/包区别
- 【小白学习C++ 教程】十四、C++ 中预处理器
- 微信跳一跳python全部代码_微信跳一跳python代码
- C实战:项目构建Make,Automake,CMake
- ClickHouse到底是什么?凭啥这么牛逼!
- 北向资金运作akshare
- linux每个任务运行时间,Linux基础教程:任务计划和周期性任务
- [c++]筛法求素数
- 【FFMEPG】windows下编译ffmpeg2.5——使用VS2013,ARMLINUX,ANDORID编译ffmpeg
- 【卫朋】硬件创业:营销与开发同行
- mysql数据库now_MySQL NOW() 函数
- 计算机安全威胁防范,计算机网络安全威胁及防范措施
- 如何将JPG格式图片转换成BMP格式
- 大智能时代,未来人工智能发展新趋势
- Windows64位操作环境下,eclipse使用32位JDK
- STM32硬件SPI控制TM1638 按键数码管LED显示模块
- 想成为月薪过万的软件测试工程师?你得了解这些测试思想和工作方法~
- 老子兵法—柔情似水篇
热门文章
- 2021 vivo开发者大会安全专场:将数据安全贯穿品牌战略始终
- 【正点原子MP157连载】 第十四章 IP核之RAM实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
- docker 版X-pack 6.3.0破解
- 【c++】Scons|scons对比make
- 频谱分析幅值单位_干货 | 频谱分析仪基础知识
- 【JZOJ5410】【NOIP2017提高A组集训10.22】小型耀斑
- Excel文档导出-后端返回文件流,前端实现下载功能
- 美团外卖广告智能算力的探索与实践(二)
- win10环境下python Selenuim调用Chrome时提示data 不安全
- Word基本操作以及实用小技巧