JS基础逻辑练习—含答案解释

6230_ 2024-08-25 08:03:01 阅读 56

1、代码下列代码,并打印结果:

<code> 1)console.log(NaN+NaN) // NaN

2)console.log(NaN+1) // NaN

// 解释:NaN(Not a Number)表示不是一个数字,因此 NaN 与任何值都不相等,包括 NaN 本身。

3)console.log(NaN==NaN) => false

// 解释:isNaN()这个函数的作用是判断传入的参数是否为NaN,如果是NaN,这个函数就会返回true,反之会返回false

4)console.log(isNaN(123)) // false

5)console.log(isNaN('abc')) // true

6)console.log("5"+1) // 51,类型为:string

7)console.log("5"*1) // 5,类型为:number

8)console.log(5+1) // 6,类型为:number

9)console.log("5"*"abc") // NaN

// 解释:parseInt("12a.12") = 12,再拼接字符串12 = 1212

10)console.log(parseInt("12a.12")+"12") // 1212,类型为:string

// 解释:parseInt("12a.12") = 12,此时它是数字类型,再加上右侧的数字类型 = 24

11)console.log(parseInt("12a.12")+12) // 24,类型为:number

2、解释下列每一行代码的含义,并输出结果:

1)var a = 123 => 数字类型的123,赋值给变量a

2)var b = 123 => 数字类型的123,赋值给变量b

3)a += b => 变量a的值 = a + b 的值 => 123+123 = 246

4)console.log(a) => a的值为246

5)console.log(b) => b的值为123

3、解释每行代码,并输出结果:

1)var a = 1 => 数字类型的1,赋值给变量a

2)var b = a++ => a为后置++,则先返值给b,再自增1

3)console.log(a,b) => a为2,b为1

4、解释每行代码,并输出结果:

1)var a = 1

2)var b = ++a => a为前置++,则先自增1,然后返值给b

3)console.log(a,b) => a为2,b为2、

5、解释每行代码,并输出结果:

1)var a = 1

2)b = a++ + ++a + a++ => b = 1 + 3 + 3 = 7

解释:

1、a++为1,因为是后置++,所以先赋值后计算 => 1

2、++a此时因为a++后变成了2,又因为前置++,所以再次自增 => 3

3、a++因为是后置++,所以先返值,再自增 => 3

所以:b = 1 + 3 + 3 = 7

3)console.log(a,b) => a为4,b为7

解释:a从1自增3次,则为4 => 这里不要忘记加上之前的1

6、编写程序

6.1、题目1:

题目:某施工队,修筑水渠需要花费12345611秒,请将其转化为当前格式:小时分钟思路

秒数 => 总时间 % 60 的取余,time / 60 = 205760分钟,剩余的余数为11,则为秒数分钟 => 总时间 / 60 = 205760分钟,再 % 60 = 3429小时,剩下的余数为21,则为分钟时钟 => 总时间 / 60 = 205760分钟,再 / 60 = 3429小时,再 % 24 = 142,余数21,则为小时天数 => 总时间 / 60 = 205760分钟,再 / 60 = 3429小时,再 / 24 即为天数,不需要取余了 代码

var time = 12345611

var seconds = time % 60 // 得到秒数:11

var second = parseInt(time / 60 % 60) // 得到分钟数:20

var hours = parseInt(time / 60 / 60 % 24) // 得到时钟数:21

var days = parseInt(time / 60 / 60 / 24 ) // 得到天数142天

console.log("需要花费:"+days+"天,"+hours+"小时,"+second+"分,"+seconds+"秒");

6.2、题目2

题目:在输入弹框中输入一个1~12的数字,代表月份,根据输入的数字进行输出,计算当月有多少天代码

var month = prompt("请输入1~12月份的数值");

switch (month) {

case "1":

case "3":

case "5":

case "7":

case "8":

case "10":

case "12": alert("这个月有31天"); break;

case "4":

case "6":

case "9":

case "11": alert("这个月有30天"); break;

case "2" :

var year = prompt("请输入年份");

if(year % 4 === 0 && year % 100 !==0 || year % 400 ===0){

alert("是闰年,则2月有29天");

}else{

alert("非闰年,则2月有28天")

}; break;

default: alert("请输入正确的月份"); break; => 防止用户输入除1~12以外的数字

}

6.3、题目3

题目:输入数字,判断数字是否为奇数或者是偶数代码

var num = prompt("请输入数字");

if(num % 2 === 0){

alert("数值为偶数")

}else{

alert("数值非偶数")

}

6.4、题目4

题目:输入123 => 打印一季度,456打印 => 二季度,789打印 => 三季度,10,11,12打印=>四季度代码

var num = prompt("请输入对应的月份信息,查询当前季度");

switch (num) {

case "1":

case "2":

case "3": alert("当前月份为:一季度"); break;

case "4":

case "5":

case "6": alert("当前月份为:二季度"); break;

case "7":

case "8":

case "9": alert("当前月份为:三季度"); break;

case "10":

case "11":

case "12": alert("当前月份为:四季度"); break;

default: alert("请输入正确的月份信息"); break;

}

6.5、题目5

题目:判断输入的数值 => 如果小于10,则就把前面补上0,如果大于10的话不补0代码

var num = prompt("请输入数值");

if(num < 10){

num = "0" + num; // 这里使用了字符串拼接的方式,在数值前面加上了0

alert("当前值<10,则数值为:" + num)

}else{

alert("当前值>10,则数值为:" + num)

}



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。