Nová ukázka
Reset
Načíst z URL
Uložit a získat odkaz
Vztahuje se k…
Nevyplňujte
Napiště „nejsem robot“
▶
Přepnout zobrazení
Výsledek
HTML
Autoformát
Standardní režim
Mobilní zobrazení
CSS
Autoformát
CSS reset
Až na konci
var foo = foo || {}; var searchConstructorNameInList = (function(){ var list = {}; function traverse(obj,level_name){ if(!level_name){ level_name = []; } for(var name in obj){ item = obj[name]; if(typeof item === 'function' && item.toString().indexOf('[native code]') === -1){ level_name.push(name); list[level_name.join('.')] = { ref:item, num_keys:Object.keys(item).length }; traverse(item,level_name); level_name.pop(); }else if((!!item) && item.constructor === Object){ level_name.push(name); list[level_name.join('.')] = { ref:item, num_keys:Object.keys(item).length }; traverse(item,level_name); level_name.pop(); } } }; function searchConstructorNameInList(obj,container){ var item, ref; var restructure = false; if(!container){ container = list; } for(var name in container){ item = container[name]; ref = item.ref; //console.log(name,item.num_keys, Object.keys(item.ref).length); if(item.num_keys !== Object.keys(ref).length){ traverse(ref,name.split('.')); restructure = true; continue; } if(typeof ref === 'function'){ console.log(obj instanceof ref); } if(typeof ref === 'function' && obj instanceof ref){ return name; } } if(restructure){ return searchConstructorNameInList(obj); } return false; }; traverse(window); return searchConstructorNameInList; })(); foo.bar = foo.bar || function(){ }; foo.bar.prototype = { method: function(){} }; foo.bar.Example = function(){ }; var example = new foo.bar.Example(); var result = searchConstructorNameInList(example); console.log(result); //foo.bar.Example
J
ava
S
cript
Autoformát
jQuery
Umístění JS
window.onload
</head>
</body>