首页 > 解决方案 > 在 JavaScript 中使用 new 运算符时导致的错误

问题描述

我正在创建一个使用 JavaScript 来控制游戏功能的浏览器游戏,但是在搜索了互联网之后,我未能找到解决我奇怪而具体的问题的方法,特别是考虑到我拥有的代码非常简单。

class Location {
    constructor(location, name) {
        this.location = location;
        this.name = name;
    }
}
class Storage {
    constructor(location, name) {
        this.location = location;
        this.name = name;
        this.milk = 0;
        this.milkinc = 1;
        this.pickles = 0;
        this.pickleinc = 1;
    }
}

var garden = new Location("map-garden", "Garden");
var house = new Storage("map-home", "Home");

这里的location参数只是一个参考,它在我的主要 HTML 代码中作为一个块的位置,看起来像这样:

<div id="map-home" class="container">
    <table class="map container">
        <tr>
            <td class="buttonholder">
                <div class="button" onclick="togglewindow('map-home')"><¬</div>
            </td>
        </tr>
        <tr>
            <td class="buttonholder">
                <div class="button" onclick="togglewindow('map-garden')">Garden</div>
            </td>
        </tr>
    </table>
…

为避免混淆,代码中没有语法,它只是一个字符串并且可以正常工作。

当我在 Microsoft Edge 浏览器上运行 HTML 时,它给了我以下错误

嗯...无法访问此页面

确保您拥有正确的网址:file:///C:/Users/user/Desktop/[object%20Object]

详细信息:

找不到该网站。

错误代码:INET_E_RESOURCE_NOT_FOUND

该文件的名称实际上应该是 main.html,而不是已替换为 - [object%20Object]。这仅在我尝试使用newJavaScript 代码中的运算符创建新对象时发生。在 IE Explorer 上,网页会加载,但是第一行之后的所有 JavaScript 代码new都不会被 HTML 代码编译和读取。

我已经尝试通过尝试使用不同的创建类的方法来解决这个问题,例如 using function,但这只会产生相同的错误。同样,考虑到代码的简单程度,我认为这很奇怪,但由于我以前没有使用过new运算符,我想知道是否有比我更有经验的人可以帮助解决这个问题。

标签: javascripthtmlnew-operator

解决方案


推荐阅读