出现问题:在VScode中练习代码的时候,一直正常使用的Live Server的插件,突然出现网页卡在加载界面的问题,截图如下
通过一点点排查问题,排除了下面几个原因:
1、之前一直能正常使用,不是版本插件不适应的问题
2、修改了Live Server的拓展设置,修改了使用的端口号,无法解决问题
3、更换了打开的浏览器,如火狐、Chrome,无法解决问题
接下来通过更换html中引用的js文件,发现使用新建的js文件可以正常打开,不会卡住,那么问题就是原js文件中的代码出了问题:
HelpIndex.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="Help2.js"></script>
</head>
<body>
<h1>js练习</h1>
</body>
</html>
Help.js:
//concat('str1','str2','str3'...);字符串拼接
var str4='|my|';
var str5='|name|';
var str6='|is|';
var str7='|xxx|';
var str8;
str8=str4+str5+str6+str7;
console.log(str8);
//截取从2号索引开始的字符,一直到结尾
var str9=str8.substring(2);
//截取从2号索引开始,到7号索引“前”结束的字符
var str10=str8.substring(2,7);
console.log(str9);
console.log(str10);
//replace('str1','str2');将字符串str1替换为str2
var str11='aaaaabbaaaccdd';
//将a替换为e,从前到后,一次只替换一个
var str12=str11.replace('a','e');
console.log('单个替换'+str12);
//利用while将字符串里的a全部替换为e
while(str10.indexOf('a')!=-1){
str12=str11.replace('a','e');
}
console.log('批量替换'+str12);
经过排查,发现是代码中的while循环出现了问题(条件出错,出现死循环),将其全部注释掉或纠正,再重新运行Live Server即可!