code: function traverse(util, searchTerm, options) {
        options = options || {};
        var obj = options.obj || window;
        var path = options.path || ((obj == window) ? 'window' : '');
        var props = Object.keys(obj);
        props.forEach(function(prop) {
          if ((tests[util] || util)(searchTerm, obj, prop)) {
            console.log([path, '.', prop].join(''), '->', ['(', typeof obj[prop], ')'].join(''), obj[prop]);
          }
          if (Object.prototype.toString.call(obj[prop]) == '[object Object]' && (obj[prop] != obj) && path.split('.').indexOf(prop) == -1) {
            traverse(util, searchTerm, {obj: obj[prop], path: [path,prop].join('.')});
          }
        });
      }
docs: ========================================== Search object model ==========================================