• JavaScript和jQuery的类型判断


    此博文为原创,转载请注明出处!

    对于类型的判断,JavaScript用typeof来进行。

    栗子:

    console.log(typeof null);            //object
    console.log(typeof []);              //object
    console.log(typeof {});              //object
    console.log(typeof new Date());      //object
    console.log(typeof new Object);      //object
    console.log(typeof function(){});    //function
    console.log(typeof alert);           //function
    console.log(typeof 1);               //number
    console.log(typeof "abc");           //string
    console.log(typeof true);            //boolean

    可以看到,typeof并不能够准确的判断出每一种数据类型,比如null和数组等都是object类型。因此,JavaScript判断数据类型不推荐使用typeof。

    那么要如何具体判断呢??看一下语法<( ̄3 ̄)> !

    {}.toString.call(obj);

    栗子:

    console.log({}.toString.call(null));            //[object Null]
    console.log({}.toString.call([]));              //[object Array]
    console.log({}.toString.call({}));              //[object Object]
    console.log({}.toString.call(new Date()));      //[object Date]
    console.log({}.toString.call(function(){}));    //[object Function]
    console.log({}.toString.call(new Object));      //[object Object]
    console.log({}.toString.call(alert));           //[object Function]
    console.log({}.toString.call(1));               //[object Number]
    console.log({}.toString.call('abc'));           //[object String]
    console.log({}.toString.call(true));            //[object Boolean]

    哈哈,是不是一目了然呀!!

    那如果你用的是jQuery,就不用这么麻烦喽,可以直接用工具方法$.type(),进行判断

    栗子:

    console.log($.type(null));                  //null
    console.log($.type([]));                    //array
    console.log($.type({}));                    //object
    console.log($.type(1));                     //number
    ......不全写完了,结果和
    {}.toString.call(obj);是一样的
    实际上{}.toString.call(obj);就是jQuery中$.type()这个工具方法的实现最重要的一段代码(⊙o⊙)哦,神奇吧!赶快去jQuery源码中找找看吧~~

    如果哪里写的有问题,欢迎各路大神指正!
  • 相关阅读:
    centos8 安装postresql12
    vs code 开启远程调试步骤
    node 版本管理器 nvs
    Vue I18n Vue.js 的国际化插件+elementUI的使用
    c#结构
    下拉菜单
    使用Convert 类和Parse方法将字符串转换为数值类型
    c# try..... catch
    c#迭代算法
    网页兼容各种浏览器
  • 原文地址:https://www.cnblogs.com/yuqingfamily/p/5796229.html
Copyright © 2020-2023  润新知