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 calculateLetterGrade(96) would return the value.
It is because the result is being assigned to the variable grade.
Question 2

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

A global variable is declared outside of any function in the program.
A local variable is declared inside the function within the function.
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;
}
Global Variables would be stateTaxRate and federalTaxRate
Local Variables would be totalStateTaxes, totalFederalTaxes and totalTaxes
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 program would crash because the sum is a local variable inside the function and cannont be accessed outside of addTwoNumbers.
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?

A parseInt() function
Question 7

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

A parseFloat() function
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!");
}
The problem is that the code uses assignment instead of a comparison operator
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);
The final value would be 20.
Question 10

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

Stepping into moves into the function call so you can debug the code inside.
Stepping over runs the function call without entering it.

Coding Problems

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