2016-04-08 21 views
1

isNaN() ve tmp === null ile denedim, ancak çalışmaz.Javascript NaN/null için denetleniyor mu?

tmp = $("#n").html(); 
if(tmp === undefined || tmp === null){ 
    tmp = 1; 
} 
tmp = parseInt(tmp); 
console.log("tmp: " + tmp); 

konsol günlükleri tmp: NaN

Ben boşalıncaya TMP bir değer vermek için çalışıyorum. Yukarıdaki başka bir stackoverflow gönderilir, ama neden benim için çalışmıyor olduğunu görmüyorum.

+0

NaN, tmp, Int gibi ayrıştırılamadığı anlamına gelir, "abc" gibi ... – Hacketo

cevap

6

Değer boş bir dize olabileceğinden, tmp = $("#n").html() || 1;'u kullanabileceğinizi düşünüyorum.

undefined, null, '' dahil olmak üzere tüm değerler falsy değerleri olarak adlandırılır. || operatörü, false olarak değerlendirecek, dolayısıyla ikinci parametreye gider ve 1 varsayılan değerini döndürür.

+0

Çalıştı! Ve ekleyebileceğim çok akıllı bir çözüm :) Teşekkür ederim! – PushALU

+1

Harika Yanıt. Kabul edilmelidir !!!!!! – Arjun

1

Bunu denediniz mi?

tmp = $("#n").html(); 
if(!tmp){ 
    tmp = 1; 
} 
tmp = parseInt(tmp); 
console.log("tmp: " + tmp); 
+1

bu tamam değil: 'if (! Tmp)' 'tmp = 1' yaparsa' tmp = 0' – Lulylulu

+0

@Lulylulu tmp '' 0 ''dır,' '0'' falsy değilse – Hacketo

+0

@Hacketo He "0" rakamı, falsi anlamına gelir. –

İlgili konular