【问题标题】:Define map inside name space在名称空间内定义映射
【发布时间】:2019-06-20 06:47:55
【问题描述】:

尝试在命名空间内定义全局映射并在这些命名空间函数内访问它。但继续收到 Uncaught SyntaxError: Unexpected identifier。如果有人可以指导我在命名空间函数中定义全局映射并进行访问,不胜感激。

var namespace = {
  var mymap = new map();
  cm: function () {       
    var childContainer = $("<div>");        
    namespace.myMap.set(cc, childContainer);
  },
  hm: function(ccm, data){          
    var cMenuItem = ccm.innerHTML;
    for (var i = 0; i < data.c.length; ++i){
      if ( cMenuItem === data.c[i]['l']){     
        namespace.Menus(data.c[i]);  
        namespace.myMap.get(cc);     
      }
    }   
  }
};

错误出现在第一行 var mymap = new map(); as Uncaught SyntaxError: Unexpected identifier

【问题讨论】:

  • mapMap 不同。 docs
  • 好的。会改变和检查
  • 还是同样的错误,有没有其他方法可以在命名空间中定义 Map()。
  • 如果命名空间是一个对象,你应该使用myMap: new Map() 语法而不是=,因为你在一个对象中声明一个字段。在您的原始问题中没有看到它。请仔细查看在自身声明中引用 namespace
  • 是的,明白了。谢谢

标签: javascript


【解决方案1】:

你在一个对象中声明了一个var。你不能这样做。您只能在函数中声明变量。

你做了什么:

var namespace = {
  var mymap = new map();  // <------ this line
  cm: function () {       
    var childContainer = $("<div>");        
    namespace.myMap.set(cc, childContainer);
  },
  hm: function(ccm, data){          
    var cMenuItem = ccm.innerHTML;
    for (var i = 0; i < data.c.length; ++i){
      if ( cMenuItem === data.c[i]['l']){     
        namespace.Menus(data.c[i]);  
        namespace.myMap.get(cc);     
      }
    }   
  }
};

你应该做什么:

var namespace = {
  mymap: new map();  // <----- this line
  cm: function () {       
    var childContainer = $("<div>");        
    namespace.myMap.set(cc, childContainer);
  },
  hm: function(ccm, data){          
    var cMenuItem = ccm.innerHTML;
    for (var i = 0; i < data.c.length; ++i){
      if ( cMenuItem === data.c[i]['l']){     
        namespace.Menus(data.c[i]);  
        namespace.myMap.get(cc);     
      }
    }   
  }
};

此外,map() 不是Map(),如评论中所述。

【讨论】:

  • 是的。 var mymap = 新地图();为我工作并结束它不是分号,因为对象,会来
猜你喜欢
  • 2015-06-09
  • 2020-01-06
  • 2011-02-24
  • 2016-12-04
  • 2016-01-28
  • 1970-01-01
  • 2013-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多