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

Jacob Tennyson
Jacob Tennyson
6,240 Points

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

Chris Shaw
Chris Shaw
26,676 Points

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!

Jacob Tennyson
Jacob Tennyson
6,240 Points

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