2016-03-23 26 views
0

görüntüdeyken aşağıdaki kodda bir hata görünüyor. Kodun hatasını bulamıyorum. programın geri kalanı, returnValueFinal değişkeninin türünü null olarak değerlendirir. Kullanıcının bir sayı girmesini istediği döngüde iken, while döngüsünün ise bir sentinel kontrollü döngü olarak çalışması bekleniyor. henüz beklendiği gibi çalışmıyor. İşteJavaScript (sentinel denetimli döngü) hatası

while(typeof(returnValueFinal) === null) 
       { 
        prompt("Please enter a number"); 
        console.log("null value"); 
       } 

birisi hatasını bulabilir, benim kodudur? returnValueFinal boş kullanımı ise önceden

+1

Sen 'returnValueFinal istiyorum object''' typeof (null) ===' == aslında

yüzden typeof(returnValueFinal) === null döner sahte bir dize döndürür null' (ayrıca tanımlanamayacak) – Wainage

+0

Bazı tarayıcılarda, null dizesini kontrol etmiyorsanız, diğer durumlarda, tarayıcı çalışmaz, çünkü tarayıcı hiçbir zaman döngüden çıkmayacağını görecektir. türünü değiştirdiğini görmek için herhangi bir şekilde 'returnValueFinal 'değerini güncellemediniz. Başka bir kodunuz olmadığı sürece, bu durumda, bu noktayı göz ardı edin, bu sadece benim ilk düşüncelerim, daha fazla kod/bilgi olmadan, daha doğru yorum yapamam. Tarayıcıya tarayıcınız değişecektir ancak 2 olası sebebi beklediğiniz gibi çalışmaz. – SkullDev

+0

İlginç. Hangi tarayıcılar? – Wainage

cevap

0

typeof teşekkürler returnValueFinal === null

+0

Ama 'typeof ({}) === 'object'' – Wainage

+0

@Wainage'da ne aldığınızdan emin değilsiniz,' true 'olarak değerlendirilecek olan bu değer, çünkü {{}' * * bir nesnedir., –

+0

I' 'null' demek, bu durumu doğru yapacak tek şey değildir. ReturnValueFinal = {} ise (koduna göre) "null" anons edecek – Wainage