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 because the result of calling calculateLetterGrade is assigned to the cariable grade. The submitFinalGrade(grade) function, likely performs an action but doesn't return a value since it isn't assigned or used.
Question 2

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

Local is declared inside a function global is declared outside any function and can be accessed from 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;
}
stateTaxRate and federalTaxRate are global because they are declared outside the function. the other ones are local because they are declared inside the function.
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);
sum is a local variable declared inside the function, so it cannot be accessed from outside of the function.
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!");
}
it uses the assignment sign instead of the == 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 executes the current line and moves to the next line without going into any functions being called. stepping into moves into the function being called, allowing you to see how the function works.

Coding Problems

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