在Javascript / google关闭库中进行类型转换

时间:2013-08-29 12:05:16

标签: javascript google-chrome-extension google-closure-library

我通过goog.structs.Set API将包含chrome.extension.SendMessage的内容脚本的复杂对象传递给后台页面。另一方面,此goog.structs.Set作为Object收到 我怎样才能将它转换回goog.structs.Set,以便我可以调用它上面的各种方法?

3 个答案:

答案 0 :(得分:9)

你的意思是闭包编译器吗?

function receiveStructsSet( aSetObject ){

    var mySet =  /** @type {goog.structs.Set} */ (aSetObject); 
}

答案 1 :(得分:2)

请参阅http://developer.chrome.com/extensions/messaging.html,您只能使用chrome.extension.SendMessage传递JSON。

就个人而言,我使用一个简单的对象作为集合并避免使用goog.structs.Set:

var MySet = Object.create(null);

如果use必须使用goog.structs.Set,则需要将其序列化并反序列化为JSON。

答案 2 :(得分:-1)

您还可以在函数声明

之前使用注释
/**
 *  @param {goog.structs.Set} aSetObject description of object
 */
function receiveStructsSet( aSetObject ){
  aSetObject.getCount();
}