JQuery源码-------JQuery中数值型变量的判断isNumeric
生活随笔
收集整理的這篇文章主要介紹了
JQuery源码-------JQuery中数值型变量的判断isNumeric
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?
判斷一個(gè)數(shù)值型變量的方法,在jquery中非常簡(jiǎn)單,只有一行代碼。
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、首先過濾掉數(shù)組類型的對(duì)象,因?yàn)閿?shù)組Array類型肯定不是Number類型,使用了Array.isArray()方法來判斷,過濾掉數(shù)組。
? 這里不能把object類型的過濾掉,因?yàn)橥ㄟ^new Number()實(shí)例化的數(shù)值型變量,也是數(shù)字,不能過濾。 ?起主要作用的還是下面的一句“obj - parseFloat( obj) ”
jQuery.isArray( obj )2、看一下,parseFloat對(duì)各種類型變量的轉(zhuǎn)換結(jié)果,
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//另外說明 數(shù)組使用parseFolat會(huì)有不一樣的結(jié)果: console.log(parseFloat([1,2])); //返回 1 ?
這些類型的變量執(zhí)行 obj-parseFlaot(obj)會(huì)返回NaN,也即不是數(shù)值型的。只有數(shù)值能通過驗(yàn)證。
?
轉(zhuǎn)載于:https://www.cnblogs.com/lydialee/p/5010151.html
總結(jié)
以上是生活随笔為你收集整理的JQuery源码-------JQuery中数值型变量的判断isNumeric的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java代码排序实践
- 下一篇: select unit_timestam