zoukankan      html  css  js  c++  java
  • JQuery源码-------JQuery中数值型变量的判断isNumeric

    判断一个数值型变量的方法,在jquery中非常简单,只有一行代码。

    isNumeric: function( obj ) {
            // parseFloat NaNs numeric-cast false positives (null|true|false|"")
            // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
            // subtraction forces infinities to NaN
            // adding 1 corrects loss of precision from parseFloat (#15100)
            return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0;
        }

    1、首先过滤掉数组类型的对象,因为数组Array类型肯定不是Number类型,使用了Array.isArray()方法来判断,过滤掉数组。

      这里不能把object类型的过滤掉,因为通过new Number()实例化的数值型变量,也是数字,不能过滤。  起主要作用的还是下面的一句“obj - parseFloat( obj) ”

    jQuery.isArray( obj )  

    2、看一下,parseFloat对各种类型变量的转换结果,

    console.log(parseFloat(NaN));         //NaN
    console.log(parseFloat(Infinity));    //Infinity
    console.log(parseFloat(undefined));   //NaN
    console.log(parseFloat(true));        //NaN
    console.log(parseFloat(false));       //NaN
    console.log(parseFloat({name:'hi'})); //NaN
    //另外说明 数组使用parseFolat会有不一样的结果:
    console.log(parseFloat([1,2]));  //返回  1
     

    这些类型的变量执行 obj-parseFlaot(obj)会返回NaN,也即不是数值型的。只有数值能通过验证。

  • 相关阅读:
    TSQL 基础学习 04
    第13章 网络编程
    Oracle 第一天
    第11章 进程与多线程
    Linux 第06天
    构造Json对象串工具类
    第14章 数据库
    第07章 集合
    YARNMR 大数据第二天
    第12章 多媒体
  • 原文地址:https://www.cnblogs.com/lydialee/p/5010151.html
Copyright © 2011-2022 走看看