2017-07-27 85 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 –