🌟 JavaScript 编程练习题精选
🌈 基础篇:初探JavaScript魅力
1. 星辰问候
/**
* 编写函数,根据当前时间返回不同的问候语:
* 6:00-12:00 "晨光熹微,早安!"
* 12:00-18:00 "日正中天,午安!"
* 18:00-24:00 "暮色苍茫,晚安!"
* 0:00-6:00 "夜阑人静,好梦!"
*/
function timeGreeting() {
// 你的代码
}
2. 数字炼金术
/**
* 实现数字转换功能:
* - 能被3整除变为"铜"
* - 能被5整除变为"银"
* - 同时满足变"金"
* - 否则保持原数字
* 示例:15 → "金", 9 → "铜", 10 → "银", 7 → 7
*/
function alchemyTransform(num) {
// 点石成金
}
🧩 逻辑篇:思维的舞蹈
3. 密码验证圆舞曲
/**
* 验证密码强度,需满足:
* - 长度8-20字符
* - 包含大小写字母
* - 至少一个数字
* - 至少一个特殊字符!@#$%
* 返回布尔值
*/
function isPasswordValid(password) {
// 跳起安全的舞蹈
}
4. 斐波那契的月光奏鸣曲
/**
* 使用递归和记忆化优化
* 计算第n个斐波那契数
* 示例:fib(10) → 55
*/
let memo = {};
function fibonacci(n) {
// 谱写数学的旋律
}
🏗️ 实战篇:构建的艺术
5. 购物车建筑师
/**
* 实现购物车功能:
* 1. 添加商品(去重,数量增加)
* 2. 移除商品
* 3. 计算总价
* 4. 应用折扣券(9折,8折,5折)
*/
class ShoppingCart {
constructor() {
this.items = [];
}
// 完善你的购物天堂
}
6. 天气观测塔
/**
* 创建天气观测站:
* - 订阅天气变化
* - 取消订阅
* - 通知所有订阅者
* 使用观察者模式实现
*/
class WeatherStation {
constructor() {
this.observers = [];
this.temperature = 0;
}
// 构筑气象的城堡
}
🚀 进阶篇:攀登JavaScript高峰
7. Promise远征队
/**
* 实现Promise.allSettled的polyfill
* 返回所有Promise的结果数组
* 无论成功失败
*/
function allSettled(promises) {
// 开启异步的远征
}
8. 函数式编程星河
/**
* 实现函数组合:
* compose(f,g,h)(x) → f(g(h(x)))
* 使用reduce实现
*/
function compose(...funcs) {
// 编织函数的星河
}
🎨 创意篇:编码如诗
9. 数字艺术画廊
/**
* 生成并控制台输出金字塔数字艺术:
* 1
* 121
* 12321
* 1234321
* 接收层数参数
*/
function numberPyramid(layers) {
// 绘制数字的曼陀罗
}
10. 诗句生成器
/**
* 根据输入词语自动生成七言诗:
* - 保持平仄规则
* - 押韵
* - 使用词库匹配
*/
function poetryGenerator(keywords) {
// 酿造文字的甘露
}
这一切,似未曾拥有