JavaScript Review

Question 1

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

var grade = calculateLetterGrade(96);
submitFinalGrade(grade);
The first function called returns a value because it is assigned to a variable. To return a value it has to be returned to a variable.
Question 2

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

A local variable is created within a function or block of code, meaning it can only be used when it is not outside of the scope is was made in. Global variables are created outside of any function which allows it to be used anywhere.
Question 3

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

var stateTaxRate = 0.06;
var federalTaxRate = 0.11;

function calculateTaxes(wages){
	var totalStateTaxes = wages * stateTaxRate;
	var totalFederalTaxes = wages * federalTaxRate;
	var totalTaxes = totalStateTaxes + totalFederalTaxes;
	return totalTaxes;
}
Global Variables: stateTaxRate, federalTaxRate
Local Variables: totalStateTaxes, totalFederalTaxes, totalTaxes
Question 4

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

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

alert("The sum is " + sum);
addTwoNumbers(3,7);
The problem is that the alert(sum) statement should actually be return(sum). Also the alert statement outside of the other function should be alert("The sum is " + addTwoNumbers(3, 7)).
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:

var firstName = prompt("Enter your first name");
if(firstName = "Bob"){
	alert("Hello Bob! That's a common first name!");
}
In the conditions for the IF statement it should be (firstName == "Bob"). There was a missing equal sign.
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)?

var 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 will execute the line of code even if its a function. Stepping into allows us to execute lines of code unless its a function because then it will go into the function and wait for the next instruction.

Coding Problems

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