`

jQuery中的类型判断原理及实现

阅读更多

 

 
//测试Chrome版本  40.0.2214.115 m
//测试版本        41.0.2272.118 (64-bit)   mac
 
 
//如有错误欢迎指出
//javaScrpt基本数据类型 numeber,boolean,string这三种
//判断类型的有三种办法
//第一种 typeof
//有几种情况是判断不出来的,null,new Date()  
//典型区别不开的,当然还有其它的一些也判断不出
var class2type={};
console.info(typeof(null));//object
console.info(typeof(undefined));
console.info(typeof(new Date()));//object   我要的是date类型
 
//第二种 constructor
//这种方法几乎都可以判断了,但是存在bug,这就要不得了
console.info({}.constructor===Object);
console.info({}.constructor==Object);
console.info(new Date().constructor===Date);
console.info(new Date().constructor==Date);
//但是null undefinde 无构造
//1也是没有的.可以转化为(1).constructor
 
//第三种 toString方法最好最实用
var toString={}.toString;//防止被篡改
 
//写一个判断数据类型的方法
var type=function(obj){
    //如果为null
    if(obj==null){
    return obj+"";
}
return typeof obj=="object" || typeof obj=="function" ?toString.call(obj):typeof obj;
};
 
 
console.info(type(new Date()));//[object Date]
console.info(type(null));
console.info(type({}));
 
console.info(type(1));
 
//到此结束
 
 

 

分享到:
评论

相关推荐

    超实用的jQuery代码段

    《超实用的jQuery代码段》从jQuery框架的使用原理与应用场景出发,对最实用的jQuery代码段进行了全方位的介绍和演示。全书分为11章,包含网页效果、DOM元素与属性、HTML事件、CSS样式、用户输入自动完成、拖放、图形...

    用JQUERY制做的柱形图统计汇总表的JS前台插件

    主要原理是定义了一个Pillar类,里面内置了许多属性及方法,初始化时,对象便直接与页面上的DOM无素绑定了。 //feature: //1.柱状图的各种柱形类型、颜色、名称及总数量均可自定义 //2.柱形图所用的坐标系也能自定义...

    jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()

    在javascript中对变量类型的判断中,我们讲解了了jquery中$.type()实现的原理。当然,jquery除了提供$.type的工具方法外,还提供了几个其他的工具方法:$.isFunction(), $.isArray(), $.isWindow(), $.isNumeric()等...

    自创的叠层柱状图(第二种)统计汇总表的JQUERY插件

    主要原理是定义了一个Pillar类,里面内置了许多属性及方法,初始化时,对象便直接与页面上的DOM无素绑定了。 //feature: //1.柱状图的每一层各种柱形类型、颜色、名称、宽度及总数量均可自定义 //2.柱形图所用的坐标...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    jQuery 和Dom关系及jQuery版本 jQuery选择器 实例多选反选取消 删选器以及Tab菜单示例 示例:模态编程框 jQuery 样式以及属性操作 示例:TAB切换菜单 jQuery内容操作 点赞以及jQuery css操作 JQuery高度以及位置操作...

    java面试题

    76.4. 在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中? 86 76.5. 在weblogic中发布ejb需涉及到哪些配置文件 87 76.6. 如何在weblogic中...

    关于vue面试题汇总

    JS中判断数据类型的方法有几种? 最常见的判断方法:typeof 判断已知对象类型的方法: instanceof 根据对象的constructor判断: constructor 无敌万能的方法:jquery.type() vue与angular的区别? 1.vue仅仅是mvvm中的...

    Java面试宝典2020修订版V1.0.1.doc

    5、用css3语法中,如何实现一个矩形框的圆角效果和50%红色透明效果?,请写出关键脚本 12 6、Div与Table的区别 13 7、行级标签转块级标签,块级标签转行级标签 13 二、Java基础部分 13 1、java中有哪些基本类型? 13...

    JAVA上百实例源码以及开源项目

     用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...

    JAVA上百实例源码以及开源项目源代码

     用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...

Global site tag (gtag.js) - Google Analytics