造轮子,一些js常用的方法

jsTools

## 造轮子,自己实现的一些js常用的方法。支持在浏览器和node环境中直接引入、也支持使用浏览器端的requirejs方式引入

目前实现的方法

  • 判断变量类型 isObj() isArray() isUndefined() isNaN()
  • 单例模式包装 getSingle()
  • 发布订阅模块 _.on() _.off() _.trigger() 上面三个函数分别用于订阅、移除、触发事件,用法和jQuery一样

    不同之处在于, 我加了命名空间的概念, 使用_.create()可以创建一个命名空间, 在该命名空间与全局、其他命名空间相隔离,可以发布订阅同名事件而不相互影响, 还有其他两个方法, _.use() _.drop()。用法如下:
    javascript var name2 = _.create('name1'); name2.on('event1',callback) _.create('name2').on('event2',callback); _.use('name1').trigger('event1'); _.drop('name1', 'name2', ...);//其返回一个数组,分别表示个命名空间删除是否成功

  • 继承、扩展方法 _.extend() 和 _.fn.extend() _.extend(true, target, {}, {})第一个参数为布尔值true则进行深拷贝 _.fn.extend(true, {})直接扩展到tools的原型fn上

    与jQuery的extend方法类似,不同之处在于:若目标对象中有相同属性,

    • 若该属性非objectarray, 则不复制, 即不覆盖目标对象中的该属性
    • 若该属性为objectarray, 且属性类型相同, 则将该属性扩展, 否则也不进行处理
  • 对象的深拷贝 deepClone() var obj = _.deepClone({} | [] | function)输入一个进行深拷贝的对象, 返回一个包含属性的对象

  • 数组的扁平化 flattenDepth()
  • 数组去重 unique()
  • 获取变量类型 getType()
  • 字符串首字母大写,其他字符小写 toUp()

转载于:https://www.cnblogs.com/litarussell/p/8953439.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值