扩展在LeafletJS中是如何工作的,为什么我需要一个中介归因才能使其正确工作
How does extending work in LeafletJS and why do I need an intermediary attribution for it to work correctly?
首先,这可能不是一个LeafletJS问题,只是一个JS问题,但我直到Leaflet才遇到它。
我最近一直在试验Leaflet,在某个时候我想把Control对象的扩展版本传递给一个函数(对于那些也使用Java或类似语言的人来说,我试图通过实例化匿名类来做一些类似的事情)。
因此:
给定类L.Control(我想用方法x扩展它),我尝试了:
func(new L.Control.extend({x: function() {}})());
由于函数func
的参数未定义。
但是:
var v = L.Control.extend({x: function() { }});
func(new v());
正如预期的那样,new v()
会返回一个带有额外x函数的L.Control
对象,因此效果非常好。
一句话:这两段代码之间有什么区别?如果可能的话,我如何使用一行代码?
谢谢!
经过一些实验,我自己想出来了。
问题是由于操作顺序造成的,解决方案是添加一组括号,一行变成:
func(new (L.Control.extend({x: function() {}}))());
相关文章:
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 我的shareService在angular 2中发送值工作正常,但当我渲染我的另一个组件时,会获得默认值
- jQuery函数不能只在一个页面上工作
- jQuery 1.7.2:.on()在一个页面上工作;Don’别再干别的了
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 为什么这个jQuery可以作为一个小提琴工作,但在我的网页上没有
- DIV怎么能像Javascript中的另一个元素一样工作呢
- 我需要一个jQuery函数来只工作在700px以上的屏幕大小,无法在我的代码中发现错误
- 如何获得一个与用“”声明的变量工作方式相同的变量;设“;或在with块中
- 使用几个<脚本>标签不会't工作-只调用一个脚本
- 给出<选项>标记一个类?API调用不工作
- 当单元格内容由于forumula从另一个工作表编译数据而更改时发送电子邮件
- 我做了一个jquery幻灯片,但没有;我工作不好,我该怎么办
- 当阻止Enter键提交AJAX表单时,关注下一个输入是't工作
- 代理一个网站能够在iframe中进行所见即所得编辑-它是如何工作的
- 同一组JS只工作一个,而其他人不工作在IE上
- 隐藏/显示功能一次只工作一个?——Jquery
- 从D3.js v3迁移到D3.js v4不工作-一个选择问题
- 在实现文件中只工作一个函数
- 相同的jquery插件在相同的url只工作一个