获取 Javascript 文件中所有对象的数组

Get array of all objects in a Javascript file

本文关键字:对象 数组 Javascript 文件 获取      更新时间:2023-09-26

我正在玩一些Javascript代码,当我偶然发现一个问题时:有没有办法在任何 javascript文件中找到objects量,并将它们从函数中打印出来?
我在互联网上没有找到任何建议答案的东西,我怀疑这是否可能,但如果有人有想法,我会有兴趣看到它。

代码示例,如果这没有意义:

var str = "Hello World!"; 
var num = 3.14; 
var obj = {};
function printOutObjects() { 
  var objs = [];
  // Find objects in script...
  console.log(objs);
}

最终一切都是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();

我不确定你为什么要这样做,如果你想查看页面中的内容,你可以在控制台中登录window并向下钻取。