Created
March 2, 2011 17:56
-
-
Save jbgutierrez/851375 to your computer and use it in GitHub Desktop.
Acertijo javascript (explicación en http://bonsaiden.github.com/JavaScript-Garden/)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE HTML> | |
<head> | |
<title>FooBar spaguetti riddle</title> | |
<meta charset='utf-8'> | |
<script type="text/javascript" src="http://shjs.sourceforge.net/sh_main.js"></script> | |
<script src="http://shjs.sourceforge.net/lang/sh_javascript.js" type="text/javascript" charset="utf-8"></script> | |
<link rel="stylesheet" href="http://shjs.sourceforge.net/css/sh_the.css" type="text/css" media="screen" charset="utf-8"> | |
<style type="text/css" media="screen"> | |
* { | |
margin: 0; | |
border: 0; | |
padding: 0; | |
} | |
.two-columns > div { | |
float: left; | |
width: 40%; | |
margin: 2em; | |
} | |
pre, ol, input { | |
margin-top: 1em; | |
} | |
ol { | |
list-style: none; | |
} | |
</style> | |
</head> | |
<body class='two-columns' onload='sh_highlightDocument()'> | |
<div> | |
<h1>Código</h1> | |
<pre id='source' class='sh_javascript'> </pre> | |
</div> | |
<div> | |
<h1>Resultado</h1> | |
<ol id='output' style='display:none;'> </ol> | |
<input type="button" value="Mostrar resultado!" onclick='output.style.display="block"; this.style.display="none"'> | |
</div> | |
<script id="script"> | |
var script = document.getElementById('script'); | |
var source = document.getElementById('source'); | |
var output = document.getElementById('output'); | |
var marker = "__" + "END" + "__"; | |
var index = script.innerHTML.indexOf(marker) + marker.length; | |
source.innerHTML = script.innerHTML.substring(index + 1); | |
// __END__ | |
if (null === undefined) { // En el segundo ejercicio se descomenta el = | |
var foo = "Homer"; | |
log(foobar()); | |
} else { | |
var bar = "Marge"; | |
log(foobar(bar)); | |
} | |
log(foo); | |
log(bar); | |
function foobar (bar) { | |
if (bar !== undefined) | |
{ | |
arguments[0] = "Bart"; | |
log(bar); | |
var characters = ["Dr. Nick Riviera","Duffman","Edna Krabappel","Fat Tony"]; | |
for(var bar in characters){ bar = characters[bar]; } | |
log(bar); | |
+function(bar){ bar = "Lisa"; log(bar); }(bar); | |
log(bar); | |
} | |
if (foo) { | |
foo = "Maggie"; | |
} else { | |
eval('foo = function(){ return bar; };'); | |
this.bar = "Grampa Abraham Simpson"; | |
} | |
bar = "Amber Simpson"; | |
return foo instanceof Function ? foo() : foo; | |
}; | |
function log(token) | |
{ | |
var li = document.createElement('li'); | |
li.innerHTML = token; | |
output.appendChild(li); | |
} | |
</script> | |
</body> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment