javascript - javascript中有没有办法获取对象的范围?

标签 javascript debugging

是否有任何可以使用的属性或网络工具,以便我可以在运行时评估两个 javascript 对象的范围?

最佳答案

不在浏览器中。 Rhino JavaScript 平台为您提供了对作用域和上下文的各种访问(通过 Java)。

您出于什么目的需要访问该范围?

如果你想执行一段代码来访问某个对象的属性,你总是可以使用 evalwith(包括它们的性能缺点)。

function exec(obj, func) {
   with (obj) {
      eval("("+func+")()");
   }
}

var actObj = {
   annoying: function (txt) {
      alert(txt);
   }
}

// using it:
exec(actObj, function () {
   annoying("HEY THERE FRIEND ! !");
});

如果你想在没有对象的情况下执行某个内容中的代码,只需在该范围内定义一个你可以从外部执行的函数。

例如:

var module = (function () {
   var a = 2;

   var peek = function (fn) {
      eval("("+fn+")()");
   }

   return {
      peek: peek
   }
})();

module.peek(function () { alert(a); });

关于javascript - javascript中有没有办法获取对象的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3681435/

相关文章:

c++ - 需要帮助调试简单的更新二进制文件功能

gdb 可以进入 if 的条件函数吗?

c++ - "Build succeeded"但 "The breakpoint will not currently be hit"

javascript - 是否可以对多个 array.indexOf 使用 switch case

javascript - Jquery - if 语句匹配各种条件

javascript - 如何从javascript中的字符串中提取数字

javascript - 操作完成后执行函数

java - 调试通过 perl 脚本调用的 Java 项目

javascript - 查找两个数组是否在数组中重复,然后选择它们

c++ - 我的应用程序可以安排 gdb 断点或观察吗?