JavaScript检查数组中是否存在指定数字的函数运行报错如何解决
问题修复方案
一、JavaScript语法报错修复
你遇到的语法报错由代码内的多个语法不规范问题共同导致,具体错误点及修复方案如下:
- 代码中混入了不属于JS语法的纯文本
this is the function,这是触发语法报错的直接原因 - JS内置数组构造函数为
Array(首字母必须大写),不能写为小写的array - 严格模式声明
use strict需要用单/双引号包裹,否则会被识别为未定义标识符 - 循环逻辑不规范:数组下标从0开始,循环初始值不应设为1;终止条件需改为
i < numbers.length,否则会出现数组越界;循环变量i需要声明,严格模式下未声明变量会报错 - 数组元素读取方式错误:需要用
数组变量[下标]的形式读取元素,不能用array(i)的写法 - 匹配到目标值后没有终止逻辑,数组存在重复值时会多次打印提示
修复后的完整代码如下:
// 存储数组的变量 var numbers = new Array(1,5,9,7,8,5) function checknumbers(numbers, targetNumber) { 'use strict'; // 也可以直接用数组内置方法简化逻辑,无需手动写循环:return numbers.includes(targetNumber) for(var i = 0; i < numbers.length; i++) { if(targetNumber === numbers[i]) { console.log('it exists'); return true; // 匹配到目标后直接终止函数 } } console.log('it does not exist'); return false; } checknumbers(numbers, 1);
二、HTML字符编码提示解决
在HTML文档的<head>标签内添加字符编码声明即可消除该提示,示例代码如下:
<!DOCTYPE html> <html lang="zh-CN"> <head> <!-- 声明文档使用UTF-8编码 --> <meta charset="UTF-8"> <title>页面标题</title> </head> <body> <!-- 页面内容 --> </body> </html>
内容的提问来源于stack exchange,提问作者abdleghani djellal
相关产品推荐
相关产品推荐

