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);
calculateLetterGrade(96) is returning a value because of it is assigned to grade, while submitFinalGrade does not have anything assigned to it.
Question 2

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

A local vairable is declared inside a function and it is limited to that specific context. A global variable is declared outside of all functions, making it available throughout the entire thing.
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;
}
stateTaxRate and federalTaxRate are global while wages, totalStateTaxes, totalFederalTaxes, totalTaxes are local.
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);
There is no return function for the sum to return a value.
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(string)
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!");
}
The wrong operator is used. It should be == since they want to check and not assign the firstName to Bob.
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 basically skips the details of functions and just go to the next line while Step into will go inside the function to see what is happening.

Coding Problems

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