`

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绑定原理是JavaScript库jQuery中的核心特性之一,它允许开发者将事件处理函数附加到DOM元素上,以便在用户与页面交互时执行相应的操作。这里我们将深入解析jQuery绑定事件的原理,并通过示例代码来理解其工作...

    jQuery EasyUI编辑DataGrid用combobox实现多级联动

    在jQuery EasyUI中,DataGrid是一种常用的表格展示控件,它可以与各种编辑器结合使用,如combobox(下拉框)来实现更丰富的交互功能。本文主要探讨的是如何利用jQuery EasyUI的DataGrid和combobox组件实现多级联动的...

    jQuery Utilities 分类下的函数(或属性)的实现方式分析

    除此之外,jQuery还提供了许多其他实用工具,如`$.trim()`用于去除字符串两端的空白,`$.isPlainObject()`判断是否为纯粹的对象,`$.inArray()`检查元素是否在数组中,以及`$.grep()`过滤数组等。这些函数的实现都...

    jQuery弹框

    在本篇文章中,我们将深入探讨jQuery弹框的实现原理、常见类型以及如何在实际项目中应用。 首先,让我们了解什么是jQuery。jQuery是一个轻量级的JavaScript库,它封装了大部分常见的DOM操作,如选择元素、事件处理...

    jQuery1.10.3 中文完全参考手册.zip

    通过学习这份《jQuery1.10.3中文完全参考手册》,开发者不仅可以掌握jQuery的基本使用,还能深入了解其实现原理和最佳实践,从而在实际项目中发挥出jQuery的强大威力,提高开发效率,创建出用户友好的交互体验。...

    密码强弱判断jquery

    实际开发中,还可以加入更多的验证规则,比如检查连续字符、重复字符,甚至使用现有的密码强度检测库,如zxcvbn,以提高判断的准确性和安全性。 在压缩包"密码强弱判断"中,可能包含了HTML、CSS和JavaScript文件,...

    超实用的jQuery代码段

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

    jquery页面延迟加载技术实现源代码

    本篇文章将深入探讨jQuery实现页面延迟加载的技术原理,并提供两个源码实例:`JqueryLazyLoad.rar`和`LazyLoad.rar`。 ### 1. jQuery延迟加载基本原理 页面延迟加载的核心思想是利用浏览器的滚动事件,判断元素...

    jquery ajax源代码

    通过 jQuery,开发者可以轻松地实现 AJAX 功能,而无需了解底层的 XMLHttpRequest 对象。 #### 二、示例代码分析 在提供的代码片段中,可以看到两个函数:`doload1` 和 `doload2`,它们都使用了 jQuery 的 AJAX ...

    jQuery 1.9.1源码分析系列(十四)之常用jQuery工具

    在详细分析jQuery 1.9.1源码系列的文章中,我们集中于探讨了jQuery库中常用工具函数的实现原理及其应用。这些工具函数广泛用于动画处理、事件处理、数据操作和性能优化等场景。本篇文章详细解释了多个核心工具函数的...

    jQuery表单个人信息格式验证代码

    接下来,我们将深入探讨这个jQuery插件的工作原理和关键知识点。 首先,jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理、动画制作和Ajax交互。在这个特定的案例中,jQuery被用来监听表单输入,并...

    jquery isType() 类型判断代码

    该代码段展示了如何在 jQuery 中实现一套类型判断机制,这些函数不仅适用于库本身,也对开发者在实现自定义功能时提供了便利。通过这些函数,开发者可以确保在对对象或值进行操作之前,可以准确知道它们的类型,从而...

    jQuery 未压缩版本源码学习

    虽然在给定的部分代码中没有详细展示`browserMatch`的实现,但通常它会根据`userAgent`中的信息,识别出浏览器的具体类型(如IE、Firefox、Chrome等)和版本号,这对于实现特定于浏览器的优化和bug修复至关重要。...

    jQuery手机端Lightbox图片展示.zip

    1. 检测设备类型,如通过检查`navigator.userAgent`判断是否为移动设备。 2. 使用CSS媒体查询调整布局,确保图片在小屏幕上适配。 3. 实现触摸滑动事件,使用户可以左右滑动查看图片。 4. 可能需要添加分页指示器,...

    基于jQuery插件Pinchzoom.js实现手指触摸图片放大缩小特效源码.zip

    在本项目中,我们主要探讨如何使用jQuery插件Pinchzoom.js来实现一个手指触摸屏幕时,图片可以随手势放大缩小的特效。Pinchzoom.js是一个轻量级且高效的库,专为移动设备设计,旨在提供平滑的双指捏合(pinch)和...

    jQuery悬停图片变焦效果.zip

    在这个例子中,我们使用了jQuery的`on`方法监听`mouseenter`和`mouseleave`事件,并根据事件类型调用相应的自定义方法`scaleUp`和`scaleDown`。这两个方法使用`animate`来平滑地改变图片的缩放比例。 最后,`images...

    jQuery实现带密码强度检测的输入框设计效果.zip

    在IT行业中,前端开发是一项关键任务,而jQuery作为一款强大的JavaScript库,极大地简化了DOM操作、事件处理和动画效果。本教程将详细讲解如何利用jQuery实现一个带密码强度检测的输入框设计效果,以提高用户体验并...

    jQuery实现手机端夹娃娃机小游戏特效源码.zip

    在提供的压缩包"jQuery实现手机端夹娃娃机小游戏特效源码.zip"中,主要包含以下内容: - 132692076172932873:这个文件很可能是项目的主代码文件,包含了实现夹娃娃机游戏逻辑的JavaScript代码。文件名可能采用了...

    jQuery上啦刷新 jQuery下拉刷新

    在压缩包中的`jqueryShuaxin`文件可能包含了实现这些功能的jQuery插件或示例代码。这些代码通常会提供预定义的事件、配置选项和方法,以便更方便地集成到你的项目中。 总的来说,使用jQuery实现上拉和下拉刷新是一...

    50个实用的jquery案例

    - **实现原理:** 使用jQuery提供的`.browser`属性来检测浏览器类型,并针对IE进行特别处理。 - **代码示例:** ```javascript if ($.browser.msie) { // Internet Explorer就是个虐待狂 } ``` - **应用场景:*...

Global site tag (gtag.js) - Google Analytics