2017-12-31 168 views
-2

プロンプトの周りに小包を作る必要があります。プロンプトをつかむ人の入力値のオブジェクトで、evalという結果になります(数字列演算子( '+'、 '*'など)で数字全体に変換します)。ちりばめプロンプトが効かない

円の任命は - のeval関数の結果をチェックすることで、evalは(A)=桁があれば - !>プロンプトたびに繰り返したときにユーザーの入力プロンプト数字以外の値(中 " '、'、 '...など)

エラーを捕捉するためのコードの部分だけです。

do { 
    var a = prompt('your number', '10-2*4'); 
} while (eval(a) != 'number'); 

try { 
    console.log(eval(a)); //must display 2 
} catch (e) { 
    console.log('Error: ', e); 
} 
+1

「ループ」と呼ばれ、「円」ではありません。 – Bergi

+1

'eval(a)!= 'number''は意味をなさない。その条件は、文字列 '' number "'を入力するだけで満たされます。 – Bergi

答えて

1

eval(s) != 'number'のあなたのテストは、あなたがそれ再帰関数作ることができtypeof eval(+s) !='number'

のようなものでなければなりません:これは<input>を使用して多くのクリーナーになり

function doPrompt(){ 
 
    try { 
 
    // if this line throws error will go to catch 
 
    var res = eval(prompt('your number', '10-2*4')); 
 
    // do it again if we don't have a number, or return number 
 
    return typeof +res ==='number' ? +res : doPrompt() 
 
    }catch(e){ 
 
    return doPrompt(); 
 
    } 
 
}; 
 

 
var res = doPrompt(); 
 

 
console.log(res)

その代わりに、より良い表示能力ユーザーへのエラーpromptを使用することはあまり柔軟ではありません

関連する問題