var f = function(arg) { if (arg != null) { document.write(arg); document.write("<br/>"); } else if (arg == undefined) { document.write("undefined<br/>"); } else { document.write("<br/>"); } }; var person = { name: "Michael Jordan", age: 49, doWork: function(arg){f(arg);}, nicknames: ["Air Jordan", "His Airness", "MJ"] }; //iterate and reflect properties for(var prop in person){ f("key: " + prop + ", value: " + person[prop]); }; //extension methods can be created by adding to prototype // Here we are adding and extension method to Object to determine if an object is an array Object.prototype.isArray = function(){ return this instanceof Array; }; f(person.isArray());f(person.nicknames.isArray());