JavaScript Review

Question 1

There are two functions being called in the code sample below. Which one returns a value? How can you tell?

let grade = calculateLetterGrade(96);
submitFinalGrade(grade);
The second one. The first one is just defining the variable, while the second one executes the function based on the parameter, which was defined previously.
Question 2

Explain the difference between a local variable and a global variable.

Local variables are defined inside functions, and can only be used in the relevant function.

Global variables are defined outside functions and can be called everywhere in the code.
Question 3

Which variables in the code sample below are local, and which ones are global?

const stateTaxRate = 0.06;
const federalTaxRate = 0.11;

function calculateTaxes(wages){
	const totalStateTaxes = wages * stateTaxRate;
	const totalFederalTaxes = wages * federalTaxRate;
	const totalTaxes = totalStateTaxes + totalFederalTaxes;
	return totalTaxes;
}
"stateTaxRate" and "federalTaxRate" are global variables.

"totalStateTaxes", "totalFederalTaxes" and "totalTaxes" are local variables.
Question 4

What is the problem with this code (hint: this program will crash, explain why):

function addTwoNumbers(num1, num2){
	const sum = num1 + num2;
	alert(sum);
}

alert("The sum is " + sum);
addTwoNumbers(3,7);
The function is being called after the alert, so there is no sum for the alert to pull.
Question 5

True or false - All user input defaults to being a string, even if the user enters a number.

True
Question 6

What function would you use to convert a string to an integer number?

parseInt()
Question 7

What function would you use to convert a string to a number that has a decimal in it (a 'float')?

parseFloat()
Question 8

What is the problem with this code sample:

let firstName = prompt("Enter your first name");
if(firstName = "Bob"){
	alert("Hello Bob! That's a common first name!");
}
There's no else/else-if that determines what to do if firstName doesn't equal "Bob" so it always returns the alert.
Question 9

What will the value of x be after the following code executes (in other words, what will appear in the log when the last line executes)?

let x = 7;
x--;
x += 3;
x++;
x *= 2;
console.log(x);
20
Question 10

Explain the difference between stepping over and stepping into a line of code when using the debugger.

Stepping over just moves the cursor to the next line, while stepping into moves the cursor into the function and goes through what it does.

Coding Problems

Coding Problems - See the 'script' tag at the bottom of the page. You will have to write some JavaScript code in it.