与谷歌地图变量范围共同描述
Coffeescript with google maps variable scope
我正试图用coffeescript让谷歌地图玩得很好。我遇到的问题是coffescript将javascript封装在(function() {
中,这意味着变量不能进入全局范围。
有没有办法让coffescript强制变量进入全局范围?
下面是我目前拥有的一个简单代码示例。
initialize = ->
options =
lat:-34.456
lng:23.456
zoom: 10
map = new google.maps.Map document.getElementById('map-canvas'), options
return
google.maps.event.addDomListener(window, 'load', initialize)
通常,您希望避免全局变量。
如果你绝对需要创建一个全局,你可以通过在window
:上分配一个属性来完成
window.foo = "bar";
这创建了一个名为foo
的全局(可以在没有window.
的情况下使用),因为所有全局变量实际上都是全局对象的属性,而在浏览器上,全局对象是Window对象,可以通过window
全局访问。
两个选项:
您可以附加到窗口,也可以附加到全局名称空间
window.initialize = ->
或者在浏览器中,对this
的引用将是窗口,因此
@initialize = ->
或者创建自己的命名空间并附加在那里:
myApp ?= {}
myApp.intialize = ->
然后在其他地方(比如这里显示的jQuery就绪处理程序中):
$->
google.maps.event.addDomListener(window, 'load', myApp.initialize)
相关文章:
- 正在全局范围中查找JavaScript函数
- 如何通过数组更新角度子范围
- Brightcove获取/显示HTML中的当前视频标题和描述
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- JsFiddle在分叉后描述失败
- HTML范围:动态设置值属性
- "实例范围”;TypeScript类的getter/setter
- jquery日期选择器年份范围默认值
- Jpgraph:如何手动设置X轴和Y轴的范围
- 在对象数组中查找多个值的d3范围
- 动态加载angularjs并生成控制器和范围
- 如何通过谷歌应用程序脚本从谷歌文档中的位置确定命名范围
- 如何从相应的控制器动态更新标题和描述
- 在Materialize Calendar中设置年份范围
- 在MVVM视图模型中处理应用程序范围的元素
- setInterval游戏循环的范围问题
- 任何人都能描述范围的流程吗
- 与谷歌地图变量范围共同描述
- Javascript:理解怪异的部分-函数范围没有按描述工作