admin管理员组

文章数量:1319953

var i = 0;
while(i < 100){
   return "The number is " + i;
   i++;
}

What is wrong with my return statement? Why can I return a string plus a variable?

var i = 0;
while(i < 100){
   return "The number is " + i;
   i++;
}

What is wrong with my return statement? Why can I return a string plus a variable?

Share Improve this question asked Aug 23, 2015 at 20:03 Andy LiAndy Li 3272 gold badges3 silver badges7 bronze badges 5
  • 2 Is this all of your JS code? The return statement needs to be inside a function. What are you trying to do anyway? – Sebastian Simon Commented Aug 23, 2015 at 20:04
  • 3 Having a return statement directly inside a while loop will result in only one iteration being executed. (It makes your loop useless). However, if you replace this line with something like console.log(i);, it should print 0, 1, ..., 99 to the console. – blex Commented Aug 23, 2015 at 20:07
  • @blex And if you put the return statement before the end of the loop, it will result in less than one iteration being executed. Making it even more useless. – PC Luddite Commented Aug 23, 2015 at 20:20
  • Replace return "the number is " + i with console.log("the number is " + i), press F12, choose the "console" tab, press F5 (assuming that your code is embedded into a web page). – user1636522 Commented Aug 23, 2015 at 20:22
  • Thanks, I will use console.log() – Andy Li Commented Aug 23, 2015 at 20:25
Add a comment  | 

3 Answers 3

Reset to default 11

return means end of function and return some value. Any statements after return statement will not be executed and the execution of a function will terminate at return statement. So, return in your case will make the loop to execute only one and terminate it.

First of all your code should be inside a function. Secondly the return statement which u have written inside the for loop will execute the result only once and it will come out of the entire function.

I'm not exactly sure what you want to do with this text, but return will take you out of the function. If you want to display this text, you could use <div id="demo"> and then use the function to create text inside of it like this:

var i = 0;
while(i < 100){
    document.getElementById("demo").innerHTML += "<p>The number is " + i + "</p>";
    i++;
}

http://jsfiddle.net/rmerzbacher/fdu7aauz/

本文标签: javascriptwhile loop returnStack Overflow