2013-12-12 68 views
0

的存根/替代在GWT框架中還有一類JsoSplittable,其中包含下面的代碼($wnd是參照全球window對象):使用Javascript - 對象

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

我使用HTML5的Web工作者這個代碼,它無法訪問window(因此可以重新定義全局$wnd)。如何在純Javascript自定義$wnd中創建滿足上面代碼段條件的對象?

真可以硬編碼,無論如何我會強制使用現代瀏覽器。

PS:補丁GWT將被提交,但我也需要變通方法遺留環境

回答

1

我覺得這是最簡單的賭

$wnd = {JSON: JSON}; 

如果沒有JSON訪問,可以存根出過

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

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