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 JavaScript Basics (Retired) Creating Reusable Code with Functions Returning a Value from a Function

niksalleh
niksalleh
2,827 Points

I keep getting "Oops! It looks like Task 1 is no longer passing." at Challenge Task 3 of 3

This is my code,

function getYear() { var year = new Date().getFullYear(); return year; } getYear(); var yearToday = year;

script.js
function getYear() {
  var year = new Date().getFullYear();
  return year;
}
getYear();
var yearToday = year;
index.html
<!DOCTYPE HTML>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>JavaScript Basics</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>

2 Answers

Jennifer Nordell
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree
Jennifer Nordell
Treehouse Teacher

Hi there! You're really close. But in your code you call getYear() function. It returns the year, but then nothing happens to it. Then you set up a new variable named yearToday which is trying to access a year variable which doesn't exist inside that scope. This is the entire purpose of returning a value from a function. That variable year isn't visible outside the function. Take a look:

function getYear() {
  var year = new Date().getFullYear();
  return year;
}
var yearToday = getYear();

Because we declare the variable year inside the function, it is only available while the function is running. The second the function stops running yeardoesn't exist anymore. So we return this to the place where we called the function. In this case, it gets put into a new variable outside the function named yearToday. Hope this helps! :sparkles:

niksalleh
niksalleh
2,827 Points

Now i get it, so the returned value must be assigned directly in the call statement. Thanks Jennifer for the fast answer!