Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

JavaScript JavaScript Basics (Retired) Creating Reusable Code with Functions Passing an Argument to a Function

I am copying the examples exactly as they are given in the tutorial and still, again, I can't figure it out.

keeps saying the var echo doesn't exist or that I haven't assigned it to the str. I have written it a hundred different ways. That "Now step one is wrong" when you are on step two is annoying and not helpful at all.

script.js
function returnValue(str) {
  var echo = str;
return str;
}
returnValue('My argument');
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>

1 Answer

Mohammed Khalil Ait Brahim
Mohammed Khalil Ait Brahim
9,539 Points

What the problem is asking is that you assign what the function returns to var echo not to do so inside the function itself:

function returnValue(str) {
  return str;
}
var echo = returnValue('My argument');

I thought I had tried this earlier and it was still wrong, I will try it again exactly as you wrote it here. I was confused because var was always in the function in all the lessons examples.

Mohammed Khalil Ait Brahim
Mohammed Khalil Ait Brahim
9,539 Points

It's definitely confusing at first! Let me know if you struggle to get it work.