다음을 사용할 수 있지만 그것을 얻을 것이다 이론적 운동 있도록 잘 궁극적으로 모든는 window
객체의 일부입니다 당신 약간 전혀 이렇게 할 이유를 잘 모르겠어요
var str = "Hello World!";
var num = 3.14;
var obj = {};
function printOutObjects() {
var objs = [];
objs.push(window);
recurseObj(window, objs);
console.log(objs);
}
function recurseObj(o, objs) {
if(typeof(o) == "undefined" || o == null || typeof(o) == "string" || typeof(o) == "number") {
return;
}
for(var c in o) {
// handle security exceptions and whatever else may come up
try {
// stop computer crashing
if(objs.length > 300) {
return;
}
else {
var obj = o[c];
// Ensure its not already in the results
if(objs.indexOf(obj) == -1) {
objs.push(obj);
recurseObj(obj, objs);
}
}
} catch(e){}
}
}
printOutObjects();
상점, 당신이 단지는 Console에 window
를 기록 할 수 있습니다 : 당신이 흥정 (컴퓨터를 충돌 할 수 있습니다)보다 더 e를 선택하고 페이지에 무엇이 있는지보고 싶다면 드릴 다운하십시오.
여기에 어떤 정보를 기록해야합니까? 'str, num, obj'? 'obj'? 'obj, objs'? – Scimonster
클로저에있는 객체도 원합니까? DOM 요소는 어떻습니까? 프로토 타입과 같은 작업의 부작용으로 생성 된 객체를 포함 하시겠습니까? 내부 객체 또는 에뮬레이트 된 사유 재산도 포함시켜야합니까? 기본적으로 JS의 모든 요소는 객체, 배열, 날짜 객체, 함수 등의 객체이기도합니다. ** TL; DR : JS에서, 거의 모든 것이 객체 *이므로 "객체"가 의미하는 것을 정의하십시오. – Joseph
가능하면 모두 가능합니다. @Scimonster –