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