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 returns a value, we know this because we save it to grade variable.
Question 2

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

local variables are within the body of a function and global live outside of them.
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;
}
federalTaxRate is global; totalFederalTaxes, totalStateTaxes, and totalTaxes are all 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);
            
sum is defined locally within addTwoNumbers so alert cant use it
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!");
                }
            
assignment opperater used instead of equality opperater if(firstName == "Bob"){ alert("Hello Bob! That's a common first name!"); }
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.

Step over allows a function to run, step into goes into the function and progresses as you go step by step.

Coding Problems

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