Javascript - 对象的存根/替换

时间:2013-12-12 01:31:31

标签: javascript html5 gwt web-worker stub

在GWT框架中有一个类JsoSplittable,它包含以下代码($wnd是对全局window对象的引用):

  return $wnd.JSON && $wnd.JSON.stringify && $wnd.JSON.stringify({
    b : function() {
    }
  }) == '{}';

我在HTML5网络工作者中使用此代码,该工具无法访问window(因此可以重新定义全局$wnd)。如何创建纯Javascript自定义$wnd对象,它将满足上面代码段中的条件?

True可以硬编码,无论如何我会强制使用现代浏览器。

PS:将提交GWT补丁,但我还需要针对旧环境的解决方法

1 个答案:

答案 0 :(得分:1)

我认为这是你最容易的赌注

$wnd = {JSON: JSON};

如果您无法访问JSON,您也可以将其删除

$wnd = {JSON: {stringify: function() { return '{}'; }}};

$wnd.JSON && $wnd.JSON.stringify && $wnd.JSON.stringify({b : function() {}}) == '{}';
// true