JSFiddle - React, Tailwind, and code Playground
by f0t0n
HTML
<ul id="console"></ul>
CSS
#console {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
padding-left: 5px;
background-color: #303030;
color: #7DB482;
font-size: 14px;
font-family: "Lucida Console", Monaco, monospace;
}
JavaScript
var Application = (function(app) {
app.constants = app.constants || {};
app.constants.PRINT_OBJ_TITLE = '[Printing an object]';
app.console = {
constants: {
SEPARATOR: new Array(50).join('-')
},
output: document.getElementById('console'),
log: function() {
var li = document.createElement('li');
li.innerHTML = Array.prototype.join.call(arguments, '');
this.output.appendChild(li);
},
printSeparator: function() {
this.log(this.constants.SEPARATOR);
}
};
app.printObj = function(obj) {
this.console.log(app.constants.PRINT_OBJ_TITLE);
for(var prop in obj) {
if(obj.hasOwnProperty(prop)) {
var propType = (typeof obj[prop] == 'function')
? 'function'
: 'property';
this.console.log(propType, ': ', prop);
}
}
this.console.printSeparator();
};
return app;
})(Application || {});
var obj = {},
app = Application;
obj.foo = function() {
alert("I'm a foo function!");
};
obj.bar = "I'm just a property";
app.printObj(obj);