一. 选择题
1.答案:D
解析:let、var 和 const 都是正确的变量声明方式,初始化值可为数字或字符串,因此选项 A、B 和 C 都正确,答案是 D。
2.答案:A
解析:const 声明的变量不能重新赋值,因此 pi = 3.15 会报错。数组和对象的内容可以修改(但引用不可变),因此 B 和 C 正常。D 仅输出变量,没有错误。
3.答案:A
解析:if (num > 10) 判断条件正确,其余选项错误:
B 使用了赋值运算符 =,不是条件判断。
C 判断小于 10,逻辑错误。
D 比较数值与字符串时,会引发隐式类型转换,结果可能不符合预期。
4.答案:A
解析:判断奇数时,条件是 num % 2 == 1。其他选项逻辑错误或不符合题意。
5.答案:D
解析:函数在 JavaScript 中有三种常见的声明方式:函数声明式(A)、函数表达式(B)、箭头函数(C)。以上三种均合法,因此答案是 D。
6.答案:D
解析:divide(10) 调用时,函数需要两个参数,但只传入了一个,返回 NaN 或可能报错。其余选项均合法。
7.答案:C
解析:访问数组最后一个元素的标准方法是 arr[arr.length - 1],其他选项均错误。数组索引从 0 开始。
8.答案:B
解析:push 方法向数组中添加元素,同时数组的长度增加 1。原数组有 3 个元素,push(“date”) 后长度变为 4。
9.答案:D
解析:选项 A、B 和 C 都能正确打印 1 到 5,D 是选项的综合描述,符合题意。
10.答案:B
解析:for 循环中,i 从 0 开始,条件是 i < 3,因此循环输出 0 1 2。
二. 实践题
1.编写一个程序,声明一个变量 name,将你的名字赋值给它,并在控制台打印出 “Hello, [你的名字]!”
let name = "小明";
console.log(`Hello, ${name}!`);
2.编写一个程序,要求用户输入一个数字,判断该数字是正数、负数还是零,并输出相应的信息。
let number = prompt("请输入一个数字:");
number = Number(number);
if (number > 0) {
console.log("这个数字是正数");
} else if (number < 0) {
console.log("这个数字是负数");
} else {
console.log("这个数字是零");
}
3.编写一个函数 multiply(a, b),返回两个数的乘积。调用该函数计算 6 和 7 的乘积,并输出结果。
function multiply(a, b) {
return a * b;
}
console.log(multiply(6, 7)); // 输出 42
4.扩展:修改 multiply 函数,使其接收的参数可以是任意多个,返回所有参数的乘积。
function multiply(...args) {
return args.reduce((acc, curr) => acc * curr, 1);
}
console.log(multiply(2, 3, 4)); // 输出 24
5.创建一个数组 colors,包含 5 个颜色名称(如 “red”, “green”, “blue”)。使用循环打印出数组中的每个颜色。
let colors = ["red", "green", "blue", "yellow", "purple"];
colors.forEach(color => console.log(color));
6.扩展:将用户输入的颜色添加到 colors 数组中,并打印更新后的数组。
let userColor = prompt("请输入一个颜色:");
colors.push(userColor);
console.log(colors);
7.编写一个程序,使用 for 循环打印出从 1 到 10 的所有偶数。
for (let i = 1; i <= 10; i++) {
if (i % 2 === 0) {
console.log(i);
}
}
8.扩展:实现一个嵌套循环,打印以下形状的数字三角形:
for (let i = 1; i <= 5; i++) {
let row = "";
for (let j = 1; j <= i; j++) {
row += j;
}
console.log(row);
}
三. 综合题
1.购物车程序
let cart = [
{ name: "商品A", price: 30 },
{ name: "商品B", price: 20 },
{ name: "商品C", price: 50 }
];
// 打印商品名称和价格
cart.forEach(item => {
console.log(`${item.name}: ¥${item.price}`);
});
// 计算总价
function calculateTotal(cart) {
return cart.reduce((total, item) => total + item.price, 0);
}
console.log(`总价:¥${calculateTotal(cart)}`);
2.猜数字游戏
let target = Math.floor(Math.random() * 100) + 1;
let guess;
while (true) {
guess = Number(prompt("请输入你猜的数字:"));
if (guess > target) {
console.log("太大了!");
} else if (guess < target) {
console.log("太小了!");
} else {
console.log("恭喜你,猜对了!");
break;
}
}