From de236e9f24baaf13336e82ea6e4ff57c5b633c98 Mon Sep 17 00:00:00 2001 From: James Padolsey Date: Wed, 30 Nov 2011 23:39:41 +0000 Subject: [PATCH] Correct code tabbing --- content/javascript-101/conditional-code.md | 109 ++++++++++----------- 1 file changed, 54 insertions(+), 55 deletions(-) diff --git a/content/javascript-101/conditional-code.md b/content/javascript-101/conditional-code.md index 78fb0bfc..96097723 100644 --- a/content/javascript-101/conditional-code.md +++ b/content/javascript-101/conditional-code.md @@ -7,23 +7,23 @@ attribution: jQuery Fundamentals Sometimes you only want to run a block of code under certain conditions. Flow control — via if and else blocks — lets you run code only under certain conditions. - var foo = true; - var bar = false; - - if (bar) { - // this code will never run - console.log('hello!'); - } - - if (bar) { - // this code won't run +var foo = true; +var bar = false; + +if (bar) { + // this code will never run + console.log('hello!'); +} + +if (bar) { + // this code won't run +} else { + if (foo) { + // this code will run } else { - if (foo) { - // this code will run - } else { - // this code would run if foo and bar were both false - } + // this code would run if foo and bar were both false } +}
@@ -42,18 +42,18 @@ kinds of values are "truthy" and which kinds of values are "falsy." Sometimes, values that seem like they should evaluate one way actually evaluate another. - '0'; - 'any string'; - []; // an empty array - {}; // an empty object - 1; // any non-zero number +'0'; +'any string'; +[]; // an empty array +{}; // an empty object +1; // any non-zero number - ''; // an empty string - NaN; // JavaScript's "not-a-number" variable - null; - undefined; // be careful -- undefined can be redefined! +''; // an empty string +NaN; // JavaScript's "not-a-number" variable +null; +undefined; // be careful -- undefined can be redefined! ## Conditional Variable Assignment with The Ternary Operator @@ -65,9 +65,9 @@ condition is true, it returns a certain value, otherwise it returns a different value. - // set foo to 1 if bar is true; - // otherwise, set foo to 0 - var foo = bar ? 1 : 0; +// set foo to 1 if bar is true; +// otherwise, set foo to 0 +var foo = bar ? 1 : 0; While the ternary operator can be used without assigning the return value to a @@ -81,21 +81,21 @@ at the value of a variable or expression, and run different blocks of code depending on the value. - switch (foo) { +switch (foo) { - case 'bar': - alert('the value was bar -- yay!'); - break; + case 'bar': + alert('the value was bar -- yay!'); + break; - case 'baz': - alert('boo baz :('); - break; + case 'baz': + alert('boo baz :('); + break; - default: - alert('everything else is just ok'); - break; + default: + alert('everything else is just ok'); + break; - } +} Switch statements have somewhat fallen out of favor in JavaScript, because @@ -103,26 +103,25 @@ often the same behavior can be accomplished by creating an object that has more potential for reuse, testing, etc. For example: +var stuffToDo = { + 'bar' : function() { + alert('the value was bar -- yay!'); + }, - var stuffToDo = { - 'bar' : function() { - alert('the value was bar -- yay!'); - }, + 'baz' : function() { + alert('boo baz :('); + }, - 'baz' : function() { - alert('boo baz :('); - }, - - 'default' : function() { - alert('everything else is just ok'); - } - }; - - if (stuffToDo[foo]) { - stuffToDo[foo](); - } else { - stuffToDo['default'](); + 'default' : function() { + alert('everything else is just ok'); } +}; + +if (stuffToDo[foo]) { + stuffToDo[foo](); +} else { + stuffToDo['default'](); +} We'll look at objects in greater depth later in this chapter.