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);
You can tell because its result is assigned to the variable grade using the let keyword. When a function is called it is assigned to a variable.
Question 2

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

A local variable is a variable that is declared inside a function or block and can only be accessed within that specific function or block. It is not available outside its defined scope. A global variable, on the other hand, is declared outside of any function or block and can be accessed from anywhere in the script. Global variables persist throughout the program, whereas local variables exist only while their function is executing.
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 is Global, federalTaxRate is also global. totalStateTaxes is local, totalStateTaxes is local, totalTaxes
Question 4

What is the problem with this code (hint: this program will crash, explain why): We're trying to enter the sum outside but its outside of the function.

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

alert("The sum is " + sum);
addTwoNumbers(3,7);
Question 5

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

True, user input is always a string by default.
Question 6

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

Use parseint to convert a string to an integer.
Question 7

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

use parsefloat to convert a string to a float.
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 issue is using one = when you want to use == .
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 of x will be 20.
Question 10

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

Stepping over executes the line without going into functions, while stepping into enters the function to debug 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.