Object typeof tostring

http://goo.gl/tD1jr

by azproduction

HTML

<canvas style="width:1px;height:1px" id="3"></canvas>
<canvas style="width:1px;height:1px" id="1"></canvas>
<canvas style="width:1px;height:1px" id="4"></canvas>
<canvas style="width:1px;height:1px" id="5"></canvas>
<br/>
<hr />
<pre id="2"></pre>

JavaScript

// Spreadsheet avail at http://goo.gl/tD1jr

function log(text) {
    var t = text.split(': ')[1];
    document.getElementById(2).innerHTML += t ? t.replace(/\n/g, '\\n') + '<br/>' : text + '<br/>';
}
// Worker
log('');
if (typeof Worker !== 'undefined'){
    var assert = typeof Worker;
    log('typeof Worker: ' + assert);

    var assert = Worker + "";
    log('Worker + "": ' + assert);

    var assert = typeof Worker.prototype;
    log('typeof Worker.prototype: ' + assert);

    var assert = Worker.prototype + "";
    log('Worker.prototype + "": ' + assert);
} else {
    log('---');
    log('---');
    log('---');
    log('---');
}

// XMLHttpRequest
log('');
if (typeof XMLHttpRequest !== 'undefined'){
    var assert = typeof XMLHttpRequest;
    log('typeof XMLHttpRequest: ' + assert);

    var assert = XMLHttpRequest + "";
    log('XMLHttpRequest + "": ' + assert);

    var assert = typeof XMLHttpRequest.prototype;
    log('typeof XMLHttpRequest.prototype: ' + assert);

    var assert = XMLHttpRequest.prototype + "";
    log('XMLHttpRequest.prototype + "": ' + assert);
} else {
    //log('No XMLHttpRequest');
    log('---');
    log('---');
    log('---');
    log('---');
}


// CanvasContext 2D
log('');
var CanvasContext = document.getElementById(1);
CanvasContext = CanvasContext.getContext && CanvasContext.getContext('2d');

if (CanvasContext) {
    var assert = typeof CanvasContext;
    log('typeof CanvasContext: ' + assert);

    var assert = CanvasContext + "";
    log('CanvasContext + "": ' + assert);

    var assert = typeof CanvasContext.prototype;
    log('typeof CanvasContext.prototype: ' + assert);

    var assert = CanvasContext.prototype + "";
    log('CanvasContext.prototype + "": ' + assert);
} else {
    //log('No CanvasContext 2D');
    log('---');
    log('---');
    log('---');
    log('---');
}


// CanvasContext 3D
log('');
try {
    var CanvasContext = document.getElementById(3);
    CanvasContext = CanvasContext.getContext("webkit-3d")...