Javascript 围着提示转不动

Javascript 围着提示转不动,javascript,loops,Javascript,Loops,我需要在提示符下打个圆圈。prompt的对象-获取custumer输入值并将其推送到eval函数以生成结果(使用数学运算符(“+”、“*”等)将整个字符串转换为数字) 圈的指定-用于检查eval功能的结果,如果eval(a)!=数字->每次用户在提示中输入非数字值('a'、'等)时重复提示 代码的另一部分仅用于捕获错误 do { var a = prompt('your number', '10-2*4'); } while (eval(a) != 'number'); try {

我需要在提示符下打个圆圈。prompt的对象-获取custumer输入值并将其推送到eval函数以生成结果(使用数学运算符(“+”、“*”等)将整个字符串转换为数字)

圈的指定-用于检查eval功能的结果,如果eval(a)!=数字->每次用户在提示中输入非数字值('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); 
} 
您的
eval测试!='数字“
应该类似于
typeof eval(+s)!=”编号“

您可以将其设置为递归函数:

函数doPrompt(){
试一试{
//如果这一行抛出错误,将转到catch
var res=eval(提示(“您的号码”,“10-2*4”);
//如果我们没有号码,请再做一次,或者返回号码
返回typeof+res==='number'?+res:doPrompt()
}捕获(e){
返回doPrompt();
}
};
var res=doPrompt();
console.log(res)
它被称为“循环”,而不是“循环”。
eval(a)!='数字“
毫无意义。只有输入字符串
“number”
,才能满足该条件。