Tuesday, February 01, 2011

Javascript:101, Week 1, Assignment

Homework:

Exercises 2.1 - 2.6 from chapter 2 of Eloquent Javascript


2.1)
Yes, this evaluates to true. it eventually reduces down to true && ! false which reduces to true.

2.2)
var result = 1; 
var counter = 0; 
while (counter < 10) { 
result = result * 2; 
counter = counter + 1; 
} 
show(result);

2.3)
var result = "";
var counter = 0;
while (counter < 10) {
  result = result + "#"; 
  print(result); 
  counter = counter + 1; 
}

2.4)
var result = 1
 for (var counter = 0; counter < 10 ; counter = counter + 1)
 result = result * 2; show(result); 

var result = "";
for (var counter = 0; counter < 10 ; counter = counter + 1) { 
  result = result + "#";   print(result); 
}


2.5)
var answer = prompt("What is 2 + 2?", ""); 
if (answer == "4")      
  alert("yay!");
else if (answer == "3" || answer == "5")      
  alert("Almost!");
else      
  alert("You idiot!");

2.6)
var answer; 
var flag = true; 

while (flag) { 
  answer = prompt("What is 2 + 2?", ""); 
  if (answer == "4") { 
    alert("yay!"); 
    flag = false; 
  } 
  else if (answer == "3" || answer == "5") { 
    alert("Almost!"); 
  } 
  else { 
    alert("You idiot!"); 
  } 
}

Create an example that shows a valid use of the 'guard' and 'default' operators in Javascript.

The 'guard' operator allows you to elegantly defend your code from executing an undefined function.
For example say you want to get a users first name if the user object is properly populated. You could write this as:

var firstName =  user && user.getFirstName();

The function wont be run if user doesn't exists, keeping your code from failing.

The 'default' operator lets you return a default value if the requested value isn't defined. An example would be returning some default value when filling in data or showing data.

var quantity = prompt("Quantity") || 1;

No comments:

Post a Comment