javascript - 为什么以下原型声明不起作用?
问题描述
我已经声明了 Array 原型 myArrayMax 并且代码似乎在从 w3schools.com 上的其他资源重复验证后正确:
该代码用于查找给定数组中的最大数。
但是,它不起作用,并且控制台显示以下错误消息:
未捕获的 TypeError:points.myArrayMax 不是函数
我在这个原型声明中找不到问题
var points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = points.myArrayMax();
var len, max;
Array.prototype.myArrayMax = function() {
len = this.length;
max = -Infinity;
while (len--) {
if (this[len] > max) {
max = this[len];
}
}
return max;
}
<h2>JavaScript Array Sort</h2>
<p>The highest number is <span id="demo"></span>.</p>
解决方案
因为您在实际定义它Array.myArrayMax
之前尝试使用它。
var points = [40, 100, 1, 5, 25, 10];
var len, max;
Array.prototype.myArrayMax = function() {
len = this.length;
max = -Infinity;
while (len--) {
if (this[len] > max) {
max = this[len];
}
}
return max;
}
console.log(points.myArrayMax());
推荐阅读
- date - 让用户选择在 SSRS 中选择“所有时间”日期的最佳方式
- neo4j - Neo4J Cypher - 从时间戳中减去持续时间
- http - 缓存控制不返回 304
- javascript - ExpressJS 重定向在浏览器中给出 net::ERR_SSL_PROTOCOL_ERROR 错误
- google-apps-script - 返回二维数组的特定行并写入 Range
- python - 如何在 5x5 矩阵中在 1 和 0 之间切换并更新矩阵?熄灯逻辑游戏
- csv - Google Cloud Data Fusion 未在 GCS Bucket 中生成 CSV 输出
- jsonschema - 在python中验证json模式中的未知属性名称
- azure - Cosmos DB:是否曾经从更改源中删除更改?
- nginx - 如何使用 Nginx 在子目录中安装 Ghost?(得到 404)