【JS编程接口】手写DOM库

923 阅读2分钟

一、我现在对封装的理解

  • DOM的API太不好用了,每个API又臭又长。
  • 我们写一个新对象dom或者函数JQuery,里面定义一些简单的函数(这些函数是用DOM的函数写出来的,也就是DOM的函数的简单化)。这样我们直接用这些简单的函数就行了。
  • 把DOM操作封装就是:把DOM复杂的API全包起来,成为一个库(DOM库),然后创造出些接口用来和外界交流。这些接口就是我们新定义的简单函数。
  • 接口就是简单函数,封装就是DOM函数被简单函数所用且被我们所抛弃。

二、一些术语

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

三、两种风格封装DOM操作

(一)对象风格(命名空间风格)

(二)jQuery风格(链式风格)

四、对象风格封装DOM操作

全部代码看我的github的dom项目

(一)准备工作

1. 新建文件夹DOM-1、文件index.html、文件main.js、文件dom.js

2. 初始化index.html

  • 语言改成zh
  • title改成“手写jQuery”
  • 写个‘你好’
  • 先引用dom.js<script src="dom.js"></script>
  • 再引用main.js<script src='main.js'></script>,因为main.js需要使用dom.js的代码

3. 初始化dom.js

创造dom是个全局对象,在里面写函数,谁都可以用

window.dom = {
add(){console.log('我是dom')}
}

4. 初始化main.js

  • main.js里面就可以使用dom
  • dom.add()

5、用parcel预览效果

  • 新建终端
  • parcel src/index.html
  • 打开网页,看见‘你好’
  • 打开控制台看见'我是dom'
  • 成功