Iterator
SImple iterator for javascript objects and arrays, for ECMA-262 5th edition.
Uses Object.keys,
HTML
<body>
<h1>Results</h1>
<ul id="results"></ul>
</body>
CSS
body {
font-family:monospace;
font-size:9pt;
}
h1{
font-family:Georgia;
font-weight:bold;
text-transform:uppercase;
text-align:center;
font-size:1.8em;
padding:3px 3px 10px 5px;
margin:0.8em 1em;
border-bottom: 1px solid #999;
}
.head {
color:#00f;
}
#results li.pass {
color: green;
}
#results li.fail {
color: red;
}
#results li.msg{
padding:1em;
color:#f03e11;
background-color:#efabef
}
JavaScript
function assert(value, desc) {
var li = document.createElement("li");
li.className = !!value ? "pass" : "fail";
li.appendChild(document.createTextNode(desc));
document.getElementById("results").appendChild(li);
};
function log(msg) {
var li = document.createElement("li");
li.className = "msg";
li.appendChild(document.createTextNode(msg));
document.getElementById("results").appendChild(li);
};
var anon = {name:"anon"};
var o = new anon.constructor();
for (var key in anon){
log(key.toString()+' = '+anon[key].toString());
}