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());
}