JQuery源码-------JQuery中数值型变量的判断isNumeric
生活随笔
收集整理的這篇文章主要介紹了
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,也即不是數值型的。只有數值能通過驗證。
?
轉載于:https://www.cnblogs.com/lydialee/p/5010151.html
總結
以上是生活随笔為你收集整理的JQuery源码-------JQuery中数值型变量的判断isNumeric的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java代码排序实践
- 下一篇: select unit_timestam