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 Foundations Functions Scope

challenge task 1 0f 1 Scope

I have no idea whats going on here. Can somebody explain this differently.

When the 'hypotenuse' function is called the value of 'x' changes from 1. Fix it so that 'x' is still 1 in the global scope.

index.html
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>JavaScript Foundations: Functions</title>
    <style>
      html {
        background: #FAFAFA;
        font-family: sans-serif;
      }
    </style>
  </head>
  <body>
    <h1>JavaScript Foundations</h1>
    <h2>Functions: Scope</h2>
    <script>

      var x = 1;
      var y = 1;

      function hypotenuse(a , b) {
        var cSquared = a * a + b * b;
        x = Math.sqrt(cSquared);
        return x;
      }

      hypotenuse(x, y);


    </script>
  </body>
</html>

1 Answer

Hi Jacob,

Essentially all this task is asking for is to prevent the local variable x within the hypotenuse function from altering the global variable x, we can do this by scoping the variable x in our function by prepending it with the var keyword.

var x = Math.sqrt(cSquared);

Happy coding!

Thanks. I had a feeling it was really simple...This stuff is overwhelming sometimes.