Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript Local Storage Project

Why is it necessary to return true?

function saveSearchString(str) {
      var searches = getRecentSearches();
      if(!str || searches.indexOf(str) > -1) {
        return false;
      }
      searches.push(str);
      localStorage.setItem('recentSearches', JSON.stringify(searches));
      return true;
    }

Mod Edit: Fixed code formatting for readability. You can post fancy code like this using markdown.

1 Answer

Hi Sanjeshwari,

The reason you need to return true or false is because of the event listener added to the searchform variable. Within the callback function for that event listener, the saveSearchString function is invoked. But it’s invoked within an if statement. If the saveSearchString function returns false, then the code within the corresponding if block won’t run, but if the saveSearchString function returns true, the code within the corresponding if block will run.

thank you!