Search K
Appearance
Appearance
打印 0-20 之间的整数,将每个数输出到控制台
for (let i = 0; i <= 20; i++) {
console.log(i);
}计算 1-1000 之间的累加和,并且打印输出到页面中
let sum = 0;
let i = 1;
while (i <= 1000) {
sum += i;
i++;
}
document.write("1-1000 的累加和为:" + sum);页面依次打印 100-200 之间,可以被 6 整除的数字
let num = 100;
while (num <= 200) {
if (num % 6 === 0) {
document.write(num + "<br>");
}
num++;
}用户弹窗输入两个数字,页面输出两个数字中的最大值(请使用三元运算符完成)
let num1 = prompt("请输入第一个数字:");
let num2 = prompt("请输入第二个数字:");
let max = num1 > num2 ? num1 : num2;
document.write("两个数字中的最大值为:" + max);用户输入一个数,计算 1 到这个数的累加和
let num = prompt("请输入一个数字:");
let sum = 0;
for (let i = 1; i <= num; i++) {
sum += i;
}
document.write("1 到 " + num + " 的累加和为:" + sum);输出成绩案例(请使用 if 多分支来书写程序)
题目描述:接收用户输入的分数,根据分数输出对应的等级字母 A、B、C、D、E,
let score = prompt("请输入您的成绩:");
if (score >= 90) {
document.write("您的等级为 A");
} else if (score >= 80 && score < 90) {
document.write("您的等级为 B");
} else if (score >= 70 && score < 80) {
document.write("您的等级为 C");
} else if (score >= 60 && score < 70) {
document.write("您的等级为 D");
} else {
document.write("您的等级为 E");
}输出星期练习(请使用 switch 分支语句来书写程序)
题目描述:请用户输入 1 个星期数。就将对应的英文的星期打印出来。
let day = prompt("请输入一个星期数(例如:星期一): ");
switch (day) {
case "星期一":
document.write("monday");
break;
case "星期二":
document.write("tuesday");
break;
case "星期三":
document.write("wednesday");
break;
case "星期四":
document.write("thursday");
break;
case "星期五":
document.write("friday");
break;
case "星期六":
document.write("saturday");
break;
case "星期日":
document.write("sunday");
break;
default:
document.write("您输入的不是有效的星期数。");
}用户登录验证
题目描述:接收用户输入的用户名和密码,若用户名为 "admin" ,且密码为 "123456" ,则提示用户登录成功!否则,让用户一直输入。
let username = "";
let password = "";
while (username !== "admin" || password !== "123456") {
username = prompt("请输入用户名:");
password = prompt("请输入密码:");
if (username === "admin" && password === "123456") {
alert("登录成功!");
break;
}
alert("用户名或密码不正确,请重新输入!");
}需求:根据用户选择计算两个数的结果:
题目描述:打开页面出现一个提示框,注意是一直提示的,' 请您选择 + - * / ,如果输入 q,则是退出结束程序
+ - * / 其中任何一个,比如用户输入是 + ,则是计算求和,如果用户输入是 * 则是计算乘积 let operator = "";
let num1 = 0;
let num2 = 0;
while (operator !== "q") {
operator = prompt("1. 输入 + - * / 计算两个数字的结果\n2. 如果输入 q 则退出");
if (operator === "+" || operator === "-" || operator === "*" || operator === "/") {
num1 = parseInt(prompt("请您输入第一个数字:"));
num2 = parseInt(prompt("请您输入第二个数字:"));
let result;
switch (operator) {
case "+":
alert("计算求和结果为:" + (num1 + num2));
break;
case "-":
alert("计算差值结果为:" + (num1 - num2));
break;
case "*":
alert("计算乘积结果为:" + num1 * num2);
break;
case "/":
alert("计算商值结果为:" + num1 / num2);
break;
}
} else if (operator !== "q") {
alert("您输入的操作不合法,请重新输入。");
}
}while (true) {
let operator = prompt("1. 输入 + - * / 计算两个数字的结果\n2. 如果输入 q 则退出");
if (operator === "q") {
break;
} else if (operator !== "+" && operator !== "-" && operator !== "*" && operator !== "/") {
alert("您输入的操作不合法,请重新输入。");
continue;
}
let num1 = Number(prompt("请您输入第一个数字"));
let num2 = Number(prompt("请您输入第二个数字"));
let result;
if (operator === "+") {
alert("计算求和结果为:" + (num1 + num2));
} else if (operator === "-") {
alert("计算差值结果为:" + (num1 - num2));
} else if (operator === "*") {
alert("计算乘积结果为:" + num1 * num2);
} else {
alert("计算商值结果为:" + num1 / num2);
}
}// 请问以下代码会出现什么问题,如何解决?
// 需求:求用户输入 2 个数字的和
let num1 = prompt("请输入第一个值");
let num2 = prompt("请输入第二个值");
alert(num1 + num2);
// 答案
// prompt 方法返回的是字符串类型,而不是数字类型。因此 num1 和 num2 变量中存储的是字符串类型的值。
// 在使用加号运算符时,如果其中一个操作数是字符串类型,那么另一个操作数也会被转换为字符串类型。因此 num1 + num2 的结果将是两个字符串拼接在一起而不是相加。
// 解决办法
// 可以将字符串类型的值转换为数字类型,可以使用 parseInt() 或 parseFloat() 方法将字符串转换为整数或浮点数类型
let num1 = parseInt(prompt("请输入第一个值"));
let num2 = parseInt(prompt("请输入第二个值"));
alert(num1 + num2);
// 使用加号运算符将字符串类型的值直接转换为数字类型
let num1 = +prompt("请输入第一个值");
let num2 = +prompt("请输入第二个值");
alert(num1 + num2);// 请问下面代码会出现什么问题,怎么去解决?
// 判断用户名的案例,用户会输入用户名
// 1. 如果用户名输入'迪丽热巴',则页面弹出 '用户名输入正确'
// 2. 如果用户名输入不是'迪丽热巴',否则弹出'用户名输入不正确'
let username = prompt("请输入用户名:");
if ((username = "迪丽热巴")) {
alert("用户名输入正确");
} else {
alert("用户名输入不正确");
}
// 答案
// 在条件判断语句中,使用了单个等号 = 而不是相等运算符 == 或 ===,将会把赋值操作的结果作为条件判断表达式的结果,因此将始终进入 if 分支。
// 因为条件判断语句中使用的是赋值操作 =, 所以无论用户输入什么内容,都会被赋值给 username 变量,然后自动转换为布尔类型的 true,导致无法正确地判断用户名是否正确。
// 解决办法
// 将相等运算符 === 用于条件判断语句中,确保 username 的值严格等于字符串 "迪丽热巴"
let username = prompt("请输入用户名:");
if (username === "迪丽热巴") {
alert("用户名输入正确");
} else {
alert("用户名输入不正确");
}// 请问下面代码会出现什么问题,怎么去解决?
// 需求,用户输入 1~10 之间的整数,则循环打印用户输入的次数
// 注意此处有 2 个错误,找出并且修正
let num = prompt("请输入一个 1~10 之间的整数");
let i = 1;
while (i < num) {
console.log(`我是第${i}句话`);
}
// 答案
// 1. prompt() 方法返回的是字符串类型,而不是数字类型。因此 num 变量中存储的是字符串类型的值。
// 2. 在 while 循环中,没有对 i 变量进行自增操作,导致 i 的值始终为 1,从而导致无限循环。
// 解决办法
// 使用 parseInt() 将字符串类型的 num 转换为数字类型,并且在 while 循环中使用了自增操作,确保 i 每次加 1,最终达到循环打印用户输入次数的目的。
let num = parseInt(prompt("请输入一个 1~10 之间的整数"));
let i = 1;
while (i <= num) {
console.log(`我是第${i}句话`);
i++;
}// bug:请你找到下面代码代码穿透的原因,并找到匹配不上 case 里面的值的问题进行修改
// 需求:用户输入 1~4 之间整数,对应输出 '春' '夏' '秋' '冬'
// 例如用户输入 1 则输出 '春' ,用户输入 2,则输出 '夏' 以此类推
// 注意:此处有 2 个错误,找出并且修正
let num = +prompt("请你输入一个 1-4 之间的值");
switch (num) {
case "1":
alert("春");
case "2":
alert("夏");
case "3":
alert("秋");
case "4":
alert("冬");
default:
alert("请输入 1~4 之间整数");
break;
}
// 答案
// 1. 在使用 switch 语句时,每个 case 后面应该加上 break;,否则将会发生代码穿透现象,即满足当前 case 条件后,后续的所有 case 语句都会被执行。
// 2. 用户输入的应该为数字类型的值,而不是字符串。如果条件判断中使用了字符串类型的值,将无法匹配到正确的分支。
// 解决办法
// 去掉了 case 条件中的引号,确保条件判断中使用的是数字类型的值,并且在每个 case 后添加了 break; 语句,确保只执行当前分支的代码块。
let num = +prompt("请你输入一个 1-4 之间的值");
switch (num) {
case 1:
alert("春");
break;
case 2:
alert("夏");
break;
case 3:
alert("秋");
break;
case 4:
alert("冬");
break;
default:
alert("请输入 1~4 之间整数");
break;
}地址:javascript 基础第二天客观题-pink 老师 (wjx.top)
if…else 语句的 if 和 else 两个句子里的代码能同时被执行吗?
A: 不可以,因为两个条件不同
B: 有时候可以,有时候不可以
C: 2 个都不能执行
D: 可以,因为条件是并列的答案选项为 A: 不可以,因为两个条件不同(两个条件是互斥的)。
在
if…else语句中,只有当if条件不满足时,才会执行else的代码块,否则else的代码块将不会被执行。因此,在
if…else语句中,if和else的代码块永远不可能同时被执行。
仔细阅读代码,请问下面的输出结果是?
switch (2) {
case 1:
console.log(1);
break;
case 2:
console.log(2);
default:
console.log(3);
break;
}A: 3
B: 2 3
C: 1 2 3
D: 2答案选项为 B: 2 3。
因为
switch语句中的条件为2,所以会匹配到第二个case条件,输出2。但是由于第二个
case没有添加break语句,因此会继续执行到下一个语句,即输出3。注意,在
switch语句中,不需要在最后一个case分支添加break语句,因为最后一个case分支的结束也意味着switch语句的结束。
结束当前循环,继续进行下一次循环的关键词是()
A: break
B: continue
C: end
D: return答案选项为 B: continue。
在 JavaScript 中,
continue语句用于退出当前循环中的迭代,并开始执行下一个迭代。当代码执行到continue语句时,它会立即停止当前迭代中余下的语句,然后跳转回循环的顶部,继续下一次迭代。与之不同的是,
break语句用于完全退出循环体,而不是仅仅跳过当前迭代并继续循环。
以下哪些情况可能会出现无限循环()【多选题】
A: for(;;){}
B: while(true){}
C: for(){}
D: while("itcast"){}答案选项为 AB
A 是一个没有条件的 for 循环,会一直执行下去;
B 是一个 while 循环,其判断条件为 true,也会一直执行下去。
C 和 D 都包含有条件判断,不会导致无限循环。
以下 while 循环的次数是()
let i = 0;
while (i === 1) {
i++;
}A: 无限次;
B: 有语法错不能执行;
C: 一次也不执行;
D: 执行一次;答案选项为 C: 一次也不执行。
由于
i的初始值为0,不满足循环条件i===1,所以这个 while 循环一次都不会执行,
下列哪个运算符需要同时对值与类型来比较是否相等?
A: =
B: ==
C: ===
D: !=答案选项为 C。
===会同时对值与类型进行比较,判断是否相等。
请问以下代码运算结果是
console.log(11 && 22);
console.log(false && "hello");
console.log(33 || 44);
console.log(0 || 55);A: 22 hello 33 55
B: 11 hello 33 55
C: 22 false 33 0
D: 22 false 33 55答案选项为 D。
&&运算符会先判断左边的表达式,如果为真,则继续计算右边的表达式,并返回结果。如果左边的表达式为假,则直接返回其结果,不再计算右边的表达式。||运算符也是类似的,只不过是左边的表达式为真时直接返回其结果,否则继续计算右边的表达式。
请根据运算符的优先级给下面的运算符做个排序?
a 逻辑运算符 ‖
b 比较运算符 >
c 一元运算符 ++
d 算数运算符 +
A: abcd;
B: dcab;
C: cdba;
D: cbda;答案选项为 B。
- 一元运算符
++的优先级最高。- 算数运算符
+的优先级高于比较运算符>和逻辑运算符||。- 比较运算符
>的优先级高于逻辑运算符||。
运算结果正确的是?
console.log(1 > 2);
console.log(2 >= 2);
console.log(2 <= 2);
console.log(2 == "2");
console.log(2 != "2");A: false true true true false
B: false true true false false
C: false true true true true
D: false false false true false答案选项为 B:
false true true false false。解释如下:
1 > 2: 1 不大于 2,返回 false。2 > = 2: 2 等于 2,返回 true。其中> =表示大于等于。2 <= 2: 2 等于 2,返回 true。其中<=表示小于等于。2 == '2': 虽然数据类型不同,但是值相等,返回 true。其中==表示相等。2 != '2': 虽然数据类型不同,但是值相等,返回 false。其中!=表示不相等。
用 break 语句可以使流程跳出 switch 语句体,也可以用 break 语句在循环结构终止本层循环体,从而提前结束本层循环,继续下一次循环。
对;
错;答案选项为对。
break语句可以用于跳出switch语句和循环语句。在
switch语句中,当程序执行到break语句时,会跳出switch语句体,继续执行后面的代码。这样可以有效地避免程序进入不必要的分支。jslet num = 2; switch (num) { case 1: console.log("case 1"); break; case 2: console.log("case 2"); break; default: console.log("default"); break; } // 输出: case 21
2
3
4
5
6
7
8
9
10
11
12
13
14在循环语句中,当程序执行到
break语句时,会提前结束本层循环并跳出循环体,继续执行循环语句后面的代码。这样可以有效地控制循环结束的条件,避免进入死循环。jsfor (let i = 0; i < 5; i++) { if (i === 3) { break; } console.log(i); } // 输出: 0 1 2 // 当 i 的值为 3 时,程序执行到 break 语句,提前结束了本层循环,并跳出循环体,因此只输出了 0、1 和 2。1
2
3
4
5
6
7
8
continue 不会打断当次循环执行。
对;
错;答案选项为对。
continue语句可以用于跳过本次循环中余下尚未执行的语句,直接进入下一次循环。当程序执行到
continue语句时,会结束当前这次循环的执行,直接进入下一次循环。需要注意的是,
continue语句只能用于循环语句中,不能用于其他语句中。jsfor (let i = 0; i < 5; i++) { if (i === 2) { continue; } console.log(i); } // 输出: 0 1 3 4 // 当 i 的值为 2 时,程序执行到 continue 语句,跳过了这次循环的执行,直接进入了下一次循环,因此只输出了 0、1、3 和 4。1
2
3
4
5
6
7
8
下列关于 if 多分支语句和 switch 分支语句说法错误的是?()
A: if 多分支和 switch 多分支没有区别
B: if 多分支语句我们开发中使用更多,更提倡使用
C: switch 分支语句一般用于等值判断,if 多分支适合于区间判断
D: 大部分情况下,if 多分支可以用来替换 switch答案选项为 A。
if多分支语句和switch分支语句在用法上有很大的区别:
if多分支语句适合于判断区间,即当变量落在某个区间时,执行不同的代码块。switch分支语句适合于等值判断,即当变量与某个值相等时,执行对应的代码块。一般来说,使用哪种语句更好取决于具体情况。当需要判断的条件比较明显且固定时,可以使用
switch分支语句;而当需要根据某个变量的值来进行判断时,可以使用if多分支语句。在实际开发中,两者都有各自的应用场景。选项 B 和 C 都是正确的。选项 D 则需要具体情况具体分析,不能一概而论。
下列不属于程序三大流程控制结构的是?()
A: 顺序结构,从上往下执行语句
B: 分支结构,根据条件选择执行
C: 循环结构,某段代码被重复执行
D: 左右结构,代码先计算右边再计算左边答案选项为 D。
程序的三大流程控制结构是: 顺序结构、分支结构和循环结构。其中:
- 顺序结构指程序按照代码的书写顺序依次执行,从上到下,逐条执行。
- 分支结构指根据条件的不同选择性地执行不同的代码块,包括单项分支和多项分支。
- 循环结构用于重复执行某个代码块,直到满足某个条件才停止循环。
选项 D 描述的是一种表达式求值的规则,即先计算右边操作数的值,再根据运算符进行相应的计算。这与程序的流程控制无关,因此不属于程序三大流程控制结构。
能够简单的说出来这些关键字干啥用的
let: 用于声明变量,可以在代码块作用域内定义局部变量。typeof: 用于检测数据类型,返回一个字符串,表示操作数的数据类型。if: 条件语句,用于指定一个或多个条件,并根据结果执行相应的代码块。else: 在 if 语句中使用,当 if 中的条件不成立时,执行 else 代码块中的语句。switch: 分支语句,用于指定多个条件并根据每个条件执行不同的代码块。case: 在 switch 语句中使用,用于指定一个条件并执行相关代码块,如果没有哪一个 case 符合,则跳转到默认语句。default: 在 switch 语句中使用,如果所有 case 都不符合要求,则执行 default 代码块中的语句。while: 循环语句,重复执行某些代码块,只要给定的条件为真。break: 可以用于退出循环,在执行循环体的过程中,如果遇到 break,则会强制退出循环。continue: 可以用于跳过循环中的某个迭代,继续后面的迭代。