jquery 插入字符串函数函数为object_搭建自己的库 | 检测数据类型 | 跟着jQuery大佬学编程思想...

▲ 点击上方蓝字关注我 ▲

文 / 景朝霞

来源公号 / 朝霞的光影笔记

ID / zhaoxiajingjing

目录:0 / 搭架子:utils.js1 / toType 检测数据类型2 / isFunction 检测是否为函数3 / isWindow 检测是否为window对象4 / isArrayLike 检测是否为类数组5 / isPlainObject 检测是否为纯对象6 / isEmptyObject 检测是否为空对象7 / isNumberic 检测是否为数字8 / 总的代码8个方法:utils.js,没有注释

0 / 搭架子:utils.js

以下代码是从jQuery中截取的,再封装成自己的一个小小的库:utils.js

 //【utils.js】 (function () {
         //...CODE      /* 暴露API */     var utils = {
             // 需要实现的方法有:         toType: toType, //=> 检测数据类型         isFunction: isFunction, //=> 检测是否为函数         isWindow: isWindow, //=> 检测是否为window对象         isArrayLike: isArrayLike, //=> 检测是否为类数组         isPlainObject: isPlainObject, //=> 检测是否为纯对象         isEmptyObject: isEmptyObject, //=> 检测是否为空对象         isNumeric: isNumeric //=> 检测是否数字     };     if (typeof window !== "undefined") {
             window._ = window.utils = utils;     }     if (typeof module === "object" && typeof module.exports === "object") {
             module.exports = utils;     } })();

△ 咱需要实现的那些方法

运算符优先级

1 / toType 检测数据类型

 (function () {
         var class2type = {};     var toString = class2type.toString; //=> 调用 Object.prototype.toString 检测数据类型的      // 建立数据类型检测的映射表 {'[obejct Array]':'array',....}     var mapType = "Boolean Number String Function Array Date RegExp Object Error Symbol".split(" ");     mapType.forEach(function (name) {
             class2type["[object " + name + "]"] = name.toLocaleLowerCase();     });      /**      * 检测数据类型      * @param {*} obj      * @returns      */     function toType(obj) {
             if (obj == null) {
                 //=> obj是:null、undefined,转成字符串             return obj + "";         }          /*         ① 基于字面量创建的基本数据类型值,直接 typeof 检测即可         ② 剩余的由 Object.prototype.toString来检测类型         => 从映射表里面找到的话,就返回结果即可         => 在映射表里没有找到,都返回了"object"         */         // Support: Android <=2.3 only (functionish RegExp)         return typeof obj === "object" || typeof obj === "function" ?             class2type[toString.call(obj)] || "object" :             typeof obj;     }       /* 暴露API */     var utils = {
             toType: toType     };     //...CODE })();

△ toType 检测数据类型

2 / isFunction

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值