2017-07-27 52 views
0

我想将int转换为使用if循环的str!这是我的logiv。我做错了什么?有任何想法吗 ?没有将int转换为if语句上的字符串

var waitTime = parseInt("53"); 
if (waitTime > 20) { 
    return 'a lot of time' 
} else if (waitTime < 20) { 
    return 'we can wait' 
} 

console.log(waitTime); 

我不断收到

+0

您正在使用'return'报表,但你没有申报或创建这里有一个函数? –

回答

2

你的代码看起来大多是正确的,包括你的parseInt使用,但也许你与console.log陈述混合的return报表?

var waitTime = parseInt("53");  
if (waitTime > 20) {  
    console.log('a lot of time'); // use console.log rather than return 
} else if (waitTime < 20) {  
    console.log('we can wait'); // use console.log rather than return 
} 

console.log(waitTime); 

http://jsbin.com/kebagodura/edit?js,console,output

+1

感谢您的超级快速响应!你说得对,我和Python混淆了,并且使用了return而不是控制台日志。 –

+0

现在我要弄清楚为什么我仍然得到这个错误 –

+0

你的输出: 了大量的时间正确的输出: 了大量的时间 –

1

你在你的代码中的错误。

return 'a lot of time' 

它试图从函数中返回文本a lot of time。但是你从来没有创建过一个函数,所以它会抛出一个错误。

更接近你想要的东西:

function wait(waitTime) { 
    if (waitTime > 20) { 
    return 'a lot of time' 
    } else if (waitTime < 20) { 
    return 'we can wait' 
    } 
} 
console.log(wait(YOUR_WAIT_TIME_HERE)); 

编辑你不需要parseInt功能都没有。 (即:'25' > 20)隐式将'25'转换为Number

+0

如果你传递了'waitTime'的值,为什么你要在函数中再次声明它。你不应该传递一个字符串,而不是'waitTime'吗? – Andy

+0

谢谢你!完全意义! –

+0

是一个错字@Andy,thnks! – Leathan

1

你根本无法做到这一点这样,if/else语句中重新分配变量值:

var waitTime = parseInt("53"); 
 

 
if (waitTime > 20) { 
 
    waitTime = 'a lot of time'; 
 
} else if (waitTime <= 20) { 
 
    waitTime = 'we can wait'; 
 
} 
 

 
console.log(waitTime);

+0

谢谢!由于我的课程非常基础,我使用这个版本结束了!我修改了一下,因为我意识到当我使用20时,它返回NaN。 –

+0

http://jsbin.com/muwepotoqu/1/edit?js,console,output –

+0

我只是把'else if'改成'(waitTime <= 20)'出于这个原因... – Johannes

2

或者(乔纳森的回答),把代码中的函数,那么return就是合理的。改进后的版本会将等待时间作为参数传递给函数。

function doIt(number) { 

    // Don't forget the radix on parseInt 
    var waitTime = parseInt(number, 10); 
    if (waitTime > 20) { 
    return 'a lot of time' 
    } else if (waitTime < 20) { 
    return 'we can wait' 
    } 
} 

var result = doIt('53'); // a lot of time 
var result = doIt('12'); // we can wait 

DEMO

+1

谢谢!作为函数有意义 –

1

你也可以做这种way-,而不是“回归”,你可以这样做:

var waitTime = parseInt("53"); 
if (waitTime > 20) { 
    waitTime = 'a lot of time'; 
} else if (waitTime < 20) { 
    waitTime = 'we can wait'; 
} 

console.log(waitTime); 
+1

为了清楚起见,您可能会考虑为消息使用不同的变量名称。 – Andy

+0

谢谢!我结束了做类似的工作 –

+0

http://jsbin.com/muwepotoqu/1/edit?js,console,output –