用 JS 封装一个库的基本思路

212 阅读1分钟

今天我尝试用 JS 来实现 jQuery 中最简单的 API:addClass,一共有三种写法

第一种是使用闭包,代码如下:

微信图片_20230622133243.png 这种方法是通过函数来访问外面的自由变量实现闭包并返回函数的一种封装方式 优点是简洁方便 缺点是会导致重复创建对象导致内存浪费

第二种是使用构造函数(或者说原型),代码如下:

微信图片_202306221332431.png 这种封装方式采用了原型 解决了重复创建对象的问题 节约了内存空间 但需要在函数调用前加new 不加new的话可通过在内部通过If判断条件内部加new 这样在使用时可不加new

第三种是使用类,代码如下

微信图片_202306221332432.png 这种方式通过class的方式封装 比较方便实用 不过使用时必须前面加new

总结:这三种封装方式虽然形态不一,但总体思路都是大同小异的,日常使用推荐使用闭包或者原型