JavaScript splice方法未正常运行 代码控制台不生效原因咨询
代码无法在控制台正常运行的核心原因
- splice插入位置硬编码错误:你把
splice()的第一个起始索引参数固定写死为5,无论当前匹配到的大写字母在数组的哪个下标位置,都只会往索引为5的位置插入空格,完全不符合预期的执行逻辑。 - 逻辑漏洞触发死循环:你判断字符为大写的逻辑存在缺陷:空格、数字、特殊符号调用
toUpperCase()后都等于自身,你往数组插入的空格会在后续循环遍历到的时候也满足判断条件,不断触发插入逻辑;同时splice()插入元素会让数组长度持续递增,for循环的终止条件i < wordSplit.length永远无法满足,最终陷入死循环,控制台会出现无响应、内存溢出类报错。 - 变量未声明引发语法错误:
wordSplit没有使用let/const/var关键字声明,属于隐式创建的全局变量,在严格模式下运行会直接抛出语法错误。
内容的提问来源于stack exchange,提问作者Faisal
相关产品推荐
相关产品推荐

