Javascript-TypeError:Object[Object Object]没有方法“forEach”

Javascript-TypeError:Object[Object Object]没有方法“forEach”,javascript,typeerror,Javascript,Typeerror,我正在代码中编写遥测函数。我正在使用此处MDN链接中提到的Performance.getEntriesByType函数-。 根据链接,它提到该方法返回PerformanceEntry对象列表/空列表。 但是,当我对window.performance.getEntriesByTypetype方法的返回值调用forEach方法时,我得到以下错误 TypeError: Object [object Object] has no method 'forEach' 两个疑问: 为什么我会得到错误“fo

我正在代码中编写遥测函数。我正在使用此处MDN链接中提到的Performance.getEntriesByType函数-。 根据链接,它提到该方法返回PerformanceEntry对象列表/空列表。 但是,当我对window.performance.getEntriesByTypetype方法的返回值调用forEach方法时,我得到以下错误

TypeError: Object [object Object] has no method 'forEach'
两个疑问:

为什么我会得到错误“forEach”没有方法? 错误消息中的Object[对象]意味着什么?
这意味着您正试图在没有forEach方法的对象上调用forEach方法。forEach是在Array.prototype上实现的,这意味着所有数组都有这个方法,一些浏览器在DOM节点列表对象上实现它。但是,您可以尝试在另一种对象上使用它,也可以在不支持它的浏览器中使用它

performance.getEntriesByType返回一个列表,该列表与实现forEach的数组不同

,显示如何从window.performance.getEntriesByType调用循环遍历结果列表


这意味着您正试图在没有forEach方法的对象上调用forEach方法。forEach是在Array.prototype上实现的,这意味着所有数组都有这个方法,一些浏览器在DOM节点列表对象上实现它。但是,您可以尝试在另一种对象上使用它,也可以在不支持它的浏览器中使用它

performance.getEntriesByType返回一个列表,该列表与实现forEach的数组不同

,显示如何从window.performance.getEntriesByType调用循环遍历结果列表


我个人在安卓设备上遇到了一个bug,问题出在依赖项的代码中,所以我无法更改它。我曾经解决过这个问题:

if (window.NodeList && !NodeList.prototype.forEach) {
    NodeList.prototype.forEach = function (callback, thisArg) {
        thisArg = thisArg || window;
        for (var i = 0; i < this.length; i++) {
            callback.call(thisArg, this[i], i, this);
        }
    };
}

我个人在安卓设备上遇到了一个bug,问题出在依赖项的代码中,所以我无法更改它。我曾经解决过这个问题:

if (window.NodeList && !NodeList.prototype.forEach) {
    NodeList.prototype.forEach = function (callback, thisArg) {
        thisArg = thisArg || window;
        for (var i = 0; i < this.length; i++) {
            callback.call(thisArg, this[i], i, this);
        }
    };
}

请编辑您的问题以包含您的实际代码。您使用的浏览器是什么?请编辑您的问题以包含您的实际代码。您使用的浏览器是什么?关于我为什么将错误视为Object[对象]的原因,有什么帮助吗?为什么是3个对象标识符?@Saint对象到字符串的默认转换是[object object],所以实际上您只是看到对象的类型,然后是该对象的字符串表示形式,这也显示了它的基础类型[object object]。关于为什么我将错误视为object[object object object]?为什么是3个对象标识符?@Saint对象到字符串的默认转换是[object object],因此实际上您只看到对象的类型,对象有错误,然后是该对象的字符串表示,这也显示了它的基本类型[object object]谢谢@jlafay这款polyfill让我的Ionic 5应用程序可以在我的史前安卓4.4手机上运行。我只需要改变检查NodeList是否存在的方式:if window.hasOwnProperty'NodeList'&&!NodeList.prototype.foreachThank@jlafay这款polyfill让我的Ionic 5应用程序可以在我的史前安卓4.4手机上运行。我只需要改变检查NodeList是否存在的方式:if window.hasOwnProperty'NodeList'&&!NodeList.prototype.forEach