代码之家  ›  专栏  ›  技术社区  ›  porton

如何获取JavaScript变量?

  •  0
  • porton  · 技术社区  · 7 年前

    在包含(或引用)我的JavaScript的页面上,我对外部Web站点执行AJAX XHR请求。

    var __xxx = {
        // ....
    };
    

    如何获取变量的值 __xxx 在我的JavaScript中?

    目前,我发明的唯一方法是 var __xxx 使用正则表达式,并使用JSON解析器解析其余部分。有更好的办法吗?

    如果需要,外部网站可能被认为是可信的,但我不希望信任来自它的数据(使用一些安全的解析器,如JSON)。

    2 回复  |  直到 7 年前
        1
  •  1
  •   zfrisch    7 年前

    使用字符串和 Function 构造器。添加“return xxx;”并将结果分配给当前脚本中可访问的新变量。

    var returned_data = new Function(data + " return _xxx;")()
    

    这是 更好的 eval 因为函数的执行不允许访问函数范围之外的局部变量。

        2
  •  1
  •   rickjerrity    7 年前

    我相信你最好的选择是做你目前正在做的事情(解析字符串Javascript和 JSON.parse 或者使用 eval 方法处理传入的Javascript字符串。

    我个人建议解析字符串,但这取决于从这个端点返回的Javascript。无论哪种情况下,Eval几乎都可以工作,但可能是危险的