今天我尝试用 JS 来实现 jQuery 中最简单的 API:addClass,一共有三种写法
第一种是使用闭包,代码如下:
这种方法是通过函数来访问外面的自由变量实现闭包并返回函数的一种封装方式
优点是简洁方便 缺点是会导致重复创建对象导致内存浪费
第二种是使用构造函数(或者说原型),代码如下:
这种封装方式采用了原型 解决了重复创建对象的问题 节约了内存空间 但需要在函数调用前加new 不加new的话可通过在内部通过If判断条件内部加new 这样在使用时可不加new
第三种是使用类,代码如下
这种方式通过class的方式封装 比较方便实用 不过使用时必须前面加new
总结:这三种封装方式虽然形态不一,但总体思路都是大同小异的,日常使用推荐使用闭包或者原型