Skip to content

Instantly share code, notes, and snippets.

@jbgutierrez
Created March 2, 2011 17:56
Show Gist options
  • Save jbgutierrez/851375 to your computer and use it in GitHub Desktop.
Save jbgutierrez/851375 to your computer and use it in GitHub Desktop.
Acertijo javascript (explicación en http://bonsaiden.github.com/JavaScript-Garden/)
<!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