Leaflet 为什么是传单';缺少什么映射方法?

Leaflet 为什么是传单';缺少什么映射方法?,leaflet,Leaflet,我通过调用var-map=L.map('传单',选项)创建了传单图但这只会使对象充满下划线前缀的私有值: Object.keys(map) === ["options", "_container", "_leaflet_id", "_containerId", `"_fadeAnimated", "_panes", "_paneRenderers", "_mapPane", "_controlCorners", "_controlContainer", "_onResize", "_target

我通过调用
var-map=L.map('传单',选项)创建了传单图但这只会使对象充满下划线前缀的私有值:

Object.keys(map) === ["options", "_container", "_leaflet_id", "_containerId", `"_fadeAnimated", "_panes", "_paneRenderers", "_mapPane", "_controlCorners", "_controlContainer", "_onResize", "_targets", "_events", "_zoom", "_loaded", "_lastCenter", "_size", "_sizeChanged", "_pixelOrigin", "_firingCount", "_handlers", "_layers", "_zoomBoundLayers", "_initHooksCalled", "dragging", "doubleClickZoom", "scrollWheelZoom", "touchZoom", "boxZoom", "keyboard", "_zoomAnimated", "_proxy", "_layersMaxZoom", "_layersMinZoom"]`
地图仍然显示出来。没有控制台错误。但是我不能调用
map.getCenter()
map.getContainer()
之类的方法,因为
map
上不存在这些方法。为什么那些方法不在
映射上?

记住,只返回对象的可枚举的自身属性

根据定义,方法应该是从类继承的,而不是自己的属性

在JavaScript(ES5)中,没有正式的“类”,因此它被转换为“从原型继承的方法”。但仍然没有自己的财产

传单做得很好,因为它尊重这种做法

例如,不要分析
Object.keys(map)
,而是直接查看
map
(在Firefox等现代浏览器中,执行
console.log(map)
将使您能够扩展对象)并搜索
\uu proto\uuu
(可能是最后一项):这是指向原型的链接,它正确地列出了方法,如
getCenter
getContainer


演示:

你能在JSFIDLE或plnkr上重现你的问题吗?是的,谢谢,我觉得问这个问题有点傻。我会把它留着,以防对别人有帮助。