JavaScript基础排错实战:从错误到正确
需积分: 0 7 浏览量
更新于2024-08-04
收藏 3KB MD 举报
"该资源是一份JavaScript基础排错题,包含多个常见的编程错误,并要求指出错误并提供修正后的代码。"
在JavaScript编程中,错误处理是开发者必须掌握的基本技能之一。下面将逐一分析并修正提供的代码片段中的错误:
1. **JS代码书写位置**
错误:`<script>`标签的`src`属性引用了外部文件`./02.js`,但紧接着又在同标签内写了`alert('弹框出现')`。这会导致`alert`语句在`src`加载的脚本之前执行,可能因脚本未加载而导致错误。
正确写法:将`alert`语句移至`<script>`标签外或放置在`src`脚本加载后。
```html
<script src="./02.js"></script>
<script>
alert('弹框出现');
</script>
```
2. **输出语句**
错误:使用`prompt`函数时没有提供提示信息。
正确写法:
```js
prompt('请输入您的姓名');
```
3. **变量01**
错误:尝试重新声明同一个变量`age`。
正确写法:避免重复声明,可以合并成一行或使用不同的变量名。
```js
let age = 19;
```
4. **变量02**
错误:`console.log`在变量声明之前使用,可能导致`age`未定义的错误。
正确写法:将`console.log`语句放在变量声明之后。
```js
let age = 18;
console.log(age);
```
5. **字符串01**
错误:在JavaScript中,字符串需用单引号`'`或双引号`"`包裹。
正确写法:
```js
let username = '张三';
```
6. **字符串02**
错误:字符串的单引号`'`未闭合,且使用了不正确的引号组合。
正确写法:
```js
let uname = '张三';
```
7. **数组**
错误:数组索引从0开始,要获取星期六,应使用索引`5`而不是`6`。
正确写法:
```js
let arr = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'];
console.log(arr[5]);
```
8. **自增**
错误:`num+1`并未改变`num`的值,没有实现自增操作。
正确写法:使用自增运算符`++`。
```js
let num = 10;
num++;
```
9. **switch分支**
销误:每个`case`后缺少`break`语句,会导致多个`case`执行。
正确写法:
```js
let num = prompt('请输入一个数字');
switch (num) {
case '1':
alert('用户您输入的是数字1');
break;
case '2':
alert('用户您输入的是数字2');
break;
case '3':
alert('用户您输入的是数字3');
break;
default:
alert('用户您输入的是非1、2、3的数字');
}
```
10. **while循环**
错误:`while`循环条件后面缺少表达式。
正确写法:添加表达式`num<=5`。
```js
let num = 1;
while (num <= 5) {
document.write(`月薪过万不是梦<br/>`);
num++; // 增加num以避免无限循环
}
```
11. **for循环**
错误:`for`循环条件中缺少表达式。
正确写法:添加表达式`i<=3`并更新`i`以避免无限循环。
```js
for (let i = 1; i <= 3; i++) {
document.write(`月薪过万不是梦<br/>`);
}
```
12. **遍历数组**
错误:`for`循环中`i<arr.length`的比较缺少操作符。
正确写法:添加等号`=`。
```js
let arr = ['马超', '赵云', '张飞', '关羽', '黄忠', '小黑', '小红'];
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
```
以上是对各个错误代码的分析和修正,通过这些例子,我们可以更好地理解JavaScript语法的细节和常见错误,提升代码质量。
2022-09-24 上传
2022-09-24 上传
2023-06-02 上传
2022-09-19 上传
2024-04-01 上传
2022-09-20 上传
2022-09-21 上传
2020-03-15 上传
2023-05-28 上传
weixin_45119924
- 粉丝: 0
- 资源: 1
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫