Javascript 综合笔试、排错题、编程题总结(二)

请说出以下代码都错在哪里,以及书写正确的代码

JS代码书写位置

<script src="./02.js">
    alert('弹框出现')
</script>

分析错误:script标签一旦设置的src属性,则里面代码不运行

正确写法:

<script>
    alert('弹框出现')
</script>

输出语句

prompt(请输入您的姓名)

分析错误:

正确写法:

<script>
    prompt(请输入您的姓名)
</script>

变量01

let age = 18
let age = 19

分析错误:变量名称不能相同

正确写法:

let age1 = 18
let age2 = 19

变量02

console.log(age)
let age = 18

分析错误:let 不能在声明变量之前先使用变量

正确写法:

let age = 18
console.log(age)

字符串01

let username = 张三

分析错误:张三 是字符串,需要使用引号包裹

正确写法:

let username = '张三'

字符串02

let uname = '张三"

分析错误:引号成对出现

正确写法:

let uname = '张三'
let uname = "张三"
let uname = `张三`

数组

// 需求:取出 星期六 

let arr = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日']
console.log(arr[6])

分析错误:数组第一个索引号为0

正确写法:

let arr = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日']
console.log(arr[5])

自增

// 让num自身增加1

let num = 10

num + 1

分析错误:

正确写法:

let num = 10

num ++

switch分支

let num = prompt('请输入一个数字')

switch (num) {
    case 1:
        alert('用户您输入的是数字1')
    case 2:
        alert('用户您输入的是数字2')
    case 3:
        alert('用户您输入的是数字3')
    default:
        alert('用户您输入的是非1、2、3的数字')
}

分析错误:

  1. switch语句中缺少 break,会有穿透问题
  2. switch是进行“全等”比较,num变量存的是字符串类型数据,和case的值1 2 进行比较,是不成立的。

正确写法:

let num6 = +prompt('请输入一个数字')
      switch (num6) {
        case 1:
          alert('用户您输入的是数字1')
          break
        case 2:
          alert('用户您输入的是数字2')
          break
        case 3:
          alert('用户您输入的是数字3')
          break
        default:
          alert('用户您输入的是非1、2、3的数字')
          break
      }

while循环

let num = 1
while (num <= 5) {
    document.write(`月薪过万不是梦<br/>`)
}

分析错误:没自增

正确写法:

let num = 1
while (num <= 5) {
    document.write(`月薪过万不是梦<br/>`)
    num++

for循环

for (let i = 1; i <= 3;) {
    document.write(`月薪过万不是梦 <br/>`)
}

分析错误:没自增

正确写法:

for (let i = 1; i <= 3; i++) {
    document.write(`月薪过万不是梦 <br/>`)
}

遍历数组

// 需求:取出数组中的每一项

let arr = ['马超', '赵云', '张飞', '关羽', '黄忠', '小黑', '小红']

for (let i = 1; i < arr.length; i++) {
    console.log(arr[i])
}

分析错误:取不出来马超,从索引号0开始

正确写法:

let arr = ['马超', '赵云', '张飞', '关羽', '黄忠', '小黑', '小红']

for (let i = 0; i < arr.length; i++) {
    console.log(arr[i])
}

修改数组的项

// 需求:将数组中的小白修改成 小灰灰
let arr = ['小黑', '小白', '小红']

arr = '小灰灰'

分析错误:
原本arr变量存数组,现在存字符串小灰灰
语法: 数组名[下标] = 新值

正确写法:

let arr = ['小黑', '小白', '小红']

arr[1] = '小灰灰'

操作数组

// 需求:在数组arr的最后面添加 blue

let arr = ['red', 'green']

arr.push = 'blue'

分析错误:语法:数组.push(数据1, 数据2, …) ****是一种方法需要括号

正确写法:

let arr = ['red', 'green']

arr.push = ('blue')

对象

// phone 手机对象

let phone = {
    size = 6.1
    play = function () {
        console.log('走起,吃鸡')
    }
}

分析错误:
对象是有属性和方法组成,属性名和属性值,
方法名和函数之间都是冒号隔开,并且属性和方法之间需要有逗号隔开

正确写法:

let phone = {
    size = 6.1,
    play = function () {
        console.log('走起,吃鸡')
    }
}

遍历对象

let obj = {
    uname: '小明',
    age: 18,
    sex: '男',
    height: 200,
}

// 遍历obj对象,取出对象的属性名和属性值
for (let k in obj) {
    console.log(k)
    console.log(obj.k)
}

分析错误:在for…in 语法中,对象的属性值需要通过 中括号语法才能取出对象的属性值***

正确写法:

let obj = {
    uname: '小明',
    age: 18,
    sex: '男',
    height: 200,
}

// 遍历obj对象,取出对象的属性名和属性值
for (let k in obj) {
    console.log(k)
    console.log(obj.[k])
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值