jQuery 정보 $.isNumeric 및 $.isNaN 및 isNaN_Basic 지식

WBOY
풀어 주다: 2016-05-16 17:37:06
원래의
1297명이 탐색했습니다.

在jQuery中,有几种方式可以判断一个对象是否是数字,或者可否转换为数字。
首先,jQuery.isNaN()在最新版本中已经被移除了(1.7之后),取而代之的是  jQuery.isNumeric ()。这并不奇怪,因为jQuery.isNaN() 同Javascript内置的isNaN()名字相同,但是语义却不完全相同,在一定意义上会造成歧义。 jQuery.isNumeric ()有着与其相似的功能,同时也解决了歧义问题。

jQuery.isNumeric ()检查传进的参数是否是数字或者可否转换为数字;Javascript 内置的isNaN() 检查传进的参数是否是一个合法的数字,典型的例子是0/0。

具体区别可以看测试:

测试数据:

复制代码 代码如下:

var values = [

"-10",
,
xFF,

"0xFF",

"8e5",
.1415,

+10,
,

"",

{},

NaN,

null,

true,

Infinity,

undefined,

false

];

使用jQuery verision1.6:

复制代码 代码如下:

for( var index in values ) {

    var v = values[ index ];

    $( 'table' ).append( ''+v+''

                         +(!isNaN( v )?"true":"false")

                         +''

                         +(!$.isNaN( v )?"true":"false")

                         +'' );

}

输出:

 

!isNaN()

!$.isNaN()

-10

true

true

16

true

true

255

true

true

0xFF

true

true

8e5

true

true

3.1415

true

true

10

true

true

100

true

true

 

true

false

[object Object]

false

false

NaN

false

false

null

true

false

true

true

false

Infinity

true

false

undefined

false

false

사용 jQuery 버전1.7

复主代码 代码如下:

for( var index in value ) {

    var v = 값[ 인덱스 ];

    $( 'table' ).append( '' v ''

                        (!isNaN( v )?"true":"false")

                        ''

                        ($.isNumeric( v )?"true":"false")

                        '' );

}

출처:

!isNaN()

$.isNumeric()

-10

true

true

16

true

true

255

true

true

0xFF

true

true

8e5

true

true

3.1415

true

true

10

true

true

100

true

true

 

true

false

[object Object]

false

false

NaN

false

false

null

true

false

true

true

false

Infinity

true

false

undefined

false

false

!isNaN()

$.isNumeric()

-10

16

255

0xFF

8e5

3.1415



10


100

 

false

[객체 객체]

거짓

거짓

NaN

거짓

거짓

null

false

false

무한대

false

정의되지 않음

거짓

거짓

$.isNumeric()이 !$.isNaN()에 의해 생성되었으며, jQuery $.isNumeric()과 동일한 Javascript가 자체적으로!isNaN()에서 null, true/를 생성했습니다. false、Infinity의 논리는 서로 다릅니다. NaN(숫자 아님)是一个数字数据类型,表明未定义(정의되지 않음)或无法表示(표현 불가능) 的值,尤其是浮点数计算值。 因此,isNaN(null) == false 에서 语义上是正确的,因为null不是NaN(事实上null、ture/false等等会先转为数字0)。但是如果用!isNaN()来判断传入的值可否转换为数字,又不大恰当。而Javascript另一种方式 typeof num == 'number' 则无法检测字符串情况。因此如果不使用 jQuery $.isNumeric(),则最好还是중写一个方法判断,比如用正则来判断或者: 复主代码 代码如下:function isNumeric(obj) {    return !isNaN (parseFloat(obj)) && isFinite(obj);}
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿