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 trialMostafa Kateb Nejad
927 Pointscode error
why does this code executes the first line of if statement
var money = 9;
var today = 'Friday'
if ( money >= 100 || today === 'Friday' ) {
alert("Time to go to the theater");
} else if ( money >= 50 || today === 'Friday' ) {
alert("Time for a movie and dinner");
} else if ( money > 10 || today === 'Friday' ) {
alert("Time for a movie");
} else if ( today !== 'Friday' ) {
alert("It's Friday, but I don't have enough money to go out");
} else {
alert("This isn't Friday. I need to stay home.");
}
<!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
Dan Whiting
12,661 PointsIf you're asking why the code only first line of your "if/else if/else" statement, it is because "today === 'Friday'" will always be true
. Once the program finds a a true statement, it will stop running. So as long as the var today
is set to 'Friday', the code will always stop at the first "if" statement.
Jacob Mishkin
23,118 PointsIt's because of the or || operator. The first line is money greater than $100, which is false, but with the || or operator today does equal Friday. Either or conditions can be true in order for the statement to be considered true. that is the difference between and && and or || operators.