首页 > 解决方案 > 多次调用类构造函数

问题描述

我有自己的谷歌地图类,它处理一些事情,比如计算距离等。它的代码如下所示:

class Map{
    constructor(options){
        this.mapcenter = [options.lat, options.lng];
    }
    ...other functions
}

在我的主 JavaScript 文件中,我在 onload 之后调用它:

 $(window).on("load", function() {
    if($("#map").length > 0) {
        themap = new Map({
            lat : 46,
            lng : 7
        });
    }
});

它已经工作了好几个月,但今天我遇到了一个错误cannot read property lat of undefined,这很奇怪。

显然,一次调用 onload 调用了构造函数三次,第二次和第三次没有调用定义中的选项。

我找不到类似的东西,我相信它与 Google Maps API 无关,而是我缺少的逻辑中的一些东西。

标签: javascript

解决方案


你应该为你的班级使用一个不同的名字,已经有一个内置的new Map()


推荐阅读