lmtire

1.0.2 • Public • Published

使用说明

反序列化 querystring

参数 {String} name 要查找的键

参数 {String} url 反序列化的字符串

返回 {undefined|String} 查找到的数值

query(name, url)

序列化为查询字符串

参数 {Object} data 要序列化的对象

返回 {String} 序列化的查询字符串

serialize(data)

根据选择器查找 Node

就是模拟 $() ,当然,这里返回元素的 Node 对象即可

参数 {String} selector

返回 {Node|Null}

$(selector)

删除节点

参数 {Node} node 要删除的节点

返回 {Node} 删除后的节点

removeNode(node)

在 target 节点之后插入 node 节点

类似 $().insertAfter()

参数 {Node} node 要插入的节点

参数 {Node} target 参照节点

insertAfter(node, target)

添加类名

参数 {HTMLElement} element 添加类名的元素

参数 {String|Array} className 要添加的类名

addClass(element, className)

移除类名

参数 {HTMLElement} element 移除类名的元素

参数 {String|Array} className 要移除的类名

removeClass(element, className)

获取绝对路径

参数 {String} url 要获取绝对路径的路径

返回 {String} url 的绝对路径

获取 url 的绝对路径

getAbsoluteUrl(url)

防抖动

参数 {Function} callback 超时后执行的回调函数

参数 {Number} time 超时时间(毫秒)

debounce(callback, time = 300)

根据索引移出数组的某一项

参数 {Number} index 要移除值的索引

参数 {Array} arr 进行移除的数组

返回 {Array} 移除元素后的数组

removeItemByIndex(1, [1,2,3]) => [1, 3]

removeItemByIndex(index, arr)

根据值移出数组的某一项

参数 {object} value 要移除的值

参数 {Array} arr 进行移除的数组

返回 {Array} 移除元素后的数组

removeItemByValue(1, [1,2,3]) => [2, 3]

removeItemByValue(value, arr)

打造自己的库

造轮子一直都是前端开发中绕不过去的槛,作为初学者倒是不用想太多,自己私底下一定要造,你造轮子写的每一行代码都会化成你的底蕴。

值得模仿的库很多,经典的比如 jQuery、 Lodash ,大型一点比如 vuejs 、react ,我们可以在模仿这些库中学到很多代码技巧,但是更重要的是摸清这些库的设计思想。始终要提现自己的是,语言和代码只是工具,体系和思想才是灵魂,什么时候你使用语言就像拿起锤子钉钉子一样自然,什么时候你就能造出自己的摩天大厦。

好吧,万丈高楼平地起,我们先从简单的开始,给我们的项目取名 adam ,你们的项目名你们自己决定。

这里是基础代码,里面有十个函数了,完善这十个函数,重点是,要有测试用例

这个项目完全自由,目录结构自己决定,甚至测试框架都可以自己定。

给了十个函数,但不限定十个,你们自己使用频率非常高的函数可以加进来。

注意

  • npm run test 可以跑测试
  • code coverage 90% 以上
  • npm run coverage 跑测试并告知 coverage 的结果

加分项

  1. 使用 ES6 ,并且编译出一份 ES5 的文件
  2. 遵从 ESLint 或者 standardjs 等代码规范
  3. 函数多多益善
  4. 发布到 npm ,发布后把链接贴到你的总结里
  5. 测试文件统一归到 test 目录下
  6. code coverage 不小于 95%
  7. 使用 git hook 来自动跑用例和代码覆盖率

Package Sidebar

Install

npm i lmtire

Weekly Downloads

4

Version

1.0.2

License

Apache-2.0

Unpacked Size

200 kB

Total Files

25

Last publish

Collaborators

  • lm902